java - solr按照拼音首字母排序
问题描述
有个标题字段,想按照拼音首字母排序,在solr方法里有一个方法
params.setSort('title',ORDER.asc);//排序字段,正序还是倒序
但这样设置好像结果不是我想要的,我想要的结果如下:序号 标题 首字母1 阿 a2 国 g3 人 r4 中 z
在sql语句里能按照拼音首字母排序,我想知道在solr里能按照拼音首字母排序么?要怎么做,求指导???
问题解答
回答1:你自己新建立一个以“title首字母“为值的新字段作为field不就行了吗,一般来说实际应用中都以自定义的字段作为排序条件
回答2:有个比较简单的做法,如下:
List<String> strs = new ArrayList<>();strs.add('中');strs.add('啊');strs.add('坎');strs.add('哈');strs.add('少');strs.add('发');strs.add('顶');strs.add('擦');strs.add('鹅');strs.add('巴');// 排序strs.sort(Collator.getInstance(Locale.CHINA));// 打印strs.forEach(System.out::println);
结果
啊 // A巴 // B擦 // C顶 // D鹅 // E发 // F哈 // H坎 // K少 // S中 // Z
还可以使用pinyin4j来进行更复杂的排序
相关文章:
1. javascript - 开发者工具中的本地缓存放在电脑的哪个文件夹2. mysql - 关于时间的入库问题,大神们你们存数据库的时间是取本地的时间,还是取utc的时间?3. python3.x - 用python操作mongodb,在pypi上应该安装那个?4. node.js - vue-cli项目不知名报错,求解5. apache - 本地搭建wordpress权限问题6. javascript - 从mysql获取json数据,前端怎么处理转换解析json类型7. css3 - 在sublime text里, 如何让emmet生成的带前缀css属性垂直对齐?8. html5 - 手机连接电脑在谷歌上调试app,出现如下的情况9. html5和Flash对抗是什么情况?10. 数据库无法进入
