java - solr按照拼音首字母排序
問題描述
有個標題字段,想按照拼音首字母排序,在solr方法里有一個方法
params.setSort('title',ORDER.asc);//排序字段,正序還是倒序
但這樣設置好像結果不是我想要的,我想要的結果如下:序號 標題 首字母1 阿 a2 國 g3 人 r4 中 z
在sql語句里能按照拼音首字母排序,我想知道在solr里能按照拼音首字母排序么?要怎么做,求指導???
問題解答
回答1:你自己新建立一個以“title首字母“為值的新字段作為field不就行了嗎,一般來說實際應用中都以自定義的字段作為排序條件
回答2:有個比較簡單的做法,如下:
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來進行更復雜的排序
相關文章:
1. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. html5 - javascript讀取自定義屬性的值,有的能夠取到,有的取不到怎么回事??3. html - Python2 BeautifulSoup 提取網頁中的表格數據及連接4. python - PyCharm里的一個文件不小心忽略了wx包5. android - VideoView與百度Map沖突6. python - (2006, ’MySQL server has gone away’)7. 小白學python的問題 關于%d和%s的區別8. python - 使用eclipse運行django代碼,修改了views.py這個文件,但是瀏覽器顯示的還是原有沒修改的結果,怎么處理?9. django - pycharm 如何配置 python3 的開發環境?10. win10 Apache24+PHP8.0,Apache不能正常加載php.ini。
