【Solr】 solr对拼音搜索和拼音首字母搜索的支持
問:對于拼音和拼音首字母的支持,當(dāng)你在搜商品的時(shí)候,如果想輸入拼音和拼音首字母就給出商品的信息,怎么辦呢?
實(shí)現(xiàn)方式有2種,但是他們其實(shí)是對應(yīng)的。
- ? ? ?用lucene實(shí)現(xiàn)
? 1.建索引, 多建一個(gè)索引字段,即拼音和拼音首字母這2個(gè)字段。合并的一個(gè)字段。
?(拼音和拼音首字母,可以通過pinyin4j.jar。將想要進(jìn)行拼音搜索的字段進(jìn)行拼音轉(zhuǎn)換。)
? 2.對輸入的參數(shù)判斷是否是拼音,(可以通過將傳人的值轉(zhuǎn)換為 utf-8 形式,如果轉(zhuǎn)換后的字符串長度大于原來的字符串的長度,那么就不是拼音。否則就進(jìn)行拼音查詢)
? 3.對拼音索引那個(gè)字段進(jìn)行查詢,和中文查詢一樣。參考中文查詢。
- ? ? ?solr實(shí)現(xiàn)
?1.solr實(shí)現(xiàn),不可以用solr自帶的功能建索引,那樣做無法將拼音和拼音首字母這個(gè)字段放入到索引文件中。
2.想要將拼音放到索引文件庫中,即需要從數(shù)據(jù)庫取數(shù)據(jù),然后將數(shù)據(jù)轉(zhuǎn)換成拼音,再將拼音放入到索引庫中。
?(用自動(dòng)建索引的時(shí)候是通過db-config.xml文件進(jìn)行的對數(shù)據(jù)庫的查詢。所以無法對查詢得到的字段進(jìn)行拼音轉(zhuǎn)換。)。以上功能用solrj進(jìn)行實(shí)現(xiàn)。solrj提供對solr的一些擴(kuò)展。
?3.對拼音字段進(jìn)行查詢,和中文查詢一樣。
?
以上思路,經(jīng)百度搜索,轉(zhuǎn)摘自他人。還為實(shí)踐,實(shí)踐后,進(jìn)行總結(jié)。
轉(zhuǎn)載于:https://www.cnblogs.com/anny0404/p/5276055.html
總結(jié)
以上是生活随笔為你收集整理的【Solr】 solr对拼音搜索和拼音首字母搜索的支持的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用的方法论-NPS
- 下一篇: VmWare下安装CentOS6