猿问

solr按照拼音首字母排序

有个标题字段,想按照拼音首字母排序,在solr方法里有一个方法

params.setSort("title",ORDER.asc);//排序字段,正序还是倒序

但这样设置好像结果不是我想要的,我想要的结果如下:
序号 标题 首字母
1 阿 a
2 国 g
3 人 r
4 中 z

在sql语句里能按照拼音首字母排序,我想知道在solr里能按照拼音首字母排序么?要怎么做,求指导???

杨__羊羊
浏览 790回答 3
3回答

慕村9548890

有个比较简单的做法,如下: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来进行更复杂的排序

心有法竹

提取文案的首字母,单独作为一列,使用copyfield作为原字段影子列,查询的时候对这个影子列进行排序
随时随地看视频慕课网APP

相关分类

Java
我要回答