有個標題字段,想按照拼音首字母排序,在solr方法裡有一個方法
params.setSort("title",ORDER.asc);//排序字段,正序还是倒序
但這樣設定好像結果不是我想要的,我想要的結果如下:序號標題首字母1 阿a2 國g3 人r4 中z
在sql語句裡能依照拼音首字母排序,我想知道在solr裡能依照拼音首字母排序麼?要怎麼做,求指導? ? ?
人生最曼妙的风景,竟是内心的淡定与从容!
你自己新建立一個以“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來進行更複雜的排序
你自己新建立一個以“title首字母“為值的新字段作為field不就行了嗎,一般來說實際應用中都以自定義的字段作為排序條件
有比較簡單的做法,如下:
結果
也可以使用pinyin4j來進行更複雜的排序