有个标题字段,想按照拼音首字母排序,在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来进行更复杂的排序
添加回答
举报
0/150
提交
取消
