为了账号安全,请及时绑定邮箱和手机立即绑定

solr按照拼音首字母排序

solr按照拼音首字母排序

杨__羊羊 2019-03-01 10:57:49
有个标题字段,想按照拼音首字母排序,在solr方法里有一个方法 params.setSort("title",ORDER.asc);//排序字段,正序还是倒序 但这样设置好像结果不是我想要的,我想要的结果如下:序号 标题 首字母1 阿 a2 国 g3 人 r4 中 z 在sql语句里能按照拼音首字母排序,我想知道在solr里能按照拼音首字母排序么?要怎么做,求指导???
查看完整描述

3 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

有个比较简单的做法,如下:

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来进行更复杂的排序

查看完整回答
反对 回复 2019-03-01
?
心有法竹

TA贡献1866条经验 获得超5个赞

提取文案的首字母,单独作为一列,使用copyfield作为原字段影子列,查询的时候对这个影子列进行排序

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 789 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号