java - solr依照拼音首字母排序
黄舟
黄舟 2017-05-17 10:02:57
0
2
870

有個標題字段,想按照拼音首字母排序,在solr方法裡有一個方法

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

但這樣設定好像結果不是我想要的,我想要的結果如下:
序號標題首字母
1 阿a
2 國g
3 人r
4 中z

在sql語句裡能依照拼音首字母排序,我想知道在solr裡能依照拼音首字母排序麼?要怎麼做,求指導? ? ?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆(2)
黄舟

你自己新建立一個以“title首字母“為值的新字段作為field不就行了嗎,一般來說實際應用中都以自定義的字段作為排序條件

淡淡烟草味

有比較簡單的做法,如下:

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來進行更複雜的排序

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板