java - solr按照拼音首字母排序
問題描述
有個標(biāo)題字段,想按照拼音首字母排序,在solr方法里有一個方法
params.setSort('title',ORDER.asc);//排序字段,正序還是倒序
但這樣設(shè)置好像結(jié)果不是我想要的,我想要的結(jié)果如下:序號 標(biāo)題 首字母1 阿 a2 國 g3 人 r4 中 z
在sql語句里能按照拼音首字母排序,我想知道在solr里能按照拼音首字母排序么?要怎么做,求指導(dǎo)???
問題解答
回答1:你自己新建立一個以“title首字母“為值的新字段作為field不就行了嗎,一般來說實際應(yīng)用中都以自定義的字段作為排序條件
回答2:有個比較簡單的做法,如下:
List<String> strs = new ArrayList<>();strs.add('中');strs.add('啊');strs.add('坎');strs.add('哈');strs.add('少');strs.add('發(fā)');strs.add('頂');strs.add('擦');strs.add('鵝');strs.add('巴');// 排序strs.sort(Collator.getInstance(Locale.CHINA));// 打印strs.forEach(System.out::println);
結(jié)果
啊 // A巴 // B擦 // C頂 // D鵝 // E發(fā) // F哈 // H坎 // K少 // S中 // Z
還可以使用pinyin4j來進(jìn)行更復(fù)雜的排序
相關(guān)文章:
1. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””2. 老師您的微信號是多少?3. docker gitlab 如何git clone?4. javascript - windows下如何使用babel,遇到了困惑5. java - 哪位大神做過考勤打卡定位功能?請大神指點6. nignx - docker內(nèi)nginx 80端口被占用7. 關(guān)于docker下的nginx壓力測試8. boot2docker無法啟動9. dockerfile - [docker build image失敗- npm install]10. docker不顯示端口映射呢?
