分詞我理解的是,輸入的一句話,按照它自己定義的規則分為常用詞語。
首先,solr有自己基本的型別,string、int、date、long等等。
對於string型別,比如在你的core/conf/manage-schema檔案中,配置乙個字段型別為string型別,如果查詢符合「我是中國人」的資料,它就認為「我是中國人」是乙個詞語。
但是如果你將該字段設定成了分詞,即配置成了text_ik型別,就可能匹配「我」、「中國人」、「中國」、「中」、「人」帶有這些字的該字段資料都可能被查詢到。這就是分詞帶來的結果。具體要按照各自的業務來配置是否分詞,分詞對於大文字字段設定是合理的,但是對於小字段,設定分詞是沒必要的,甚至有相反的結果。比如你的某乙個叫姓名的字段設定了分詞,還不如設定string,查詢時模糊匹配效果最好,(模糊匹配就是查詢條件兩邊加上*),當然也要看自己業務需求是什麼。
solr分詞的配置如下:
3.然後,在你的solrhome下的某個core/conf資料夾中,找到manage-schema檔案,在改檔案中的最下邊新增配置如下內容:
"text_ik" class="solr.textfield">
type="index" usesmart="false" class="org.wltea.analyzer.lucene.ikanalyzer" /> type="query" usesmart="true" class="org.wltea.analyzer.lucene.ikanalyzer" />
4.然後還是在這個manage-schema檔案中,找到你想配置分詞的字段,將其type改為text_ik型別:
這裡以dkdz為例,設定之前,在solr客戶端檢視是如下結果:
不好意思,我圖貼錯了,下邊的3處應該是dkdz,不是dkbm!!
配置分詞如下:
配置之後,在solr客戶端的core admin中,reload該core,再次檢視,變成如下頁面:
如果變成了上邊這種結果,就說明分詞成功了。對於分詞後的字段,如果在查詢結果上有歧義,最好是來到solr客戶端的上邊位置,看下你的條件是不是因為分詞,給分成了不是你想要的那種結果。
solr搜尋引擎使用
精選30 雲產品,助力企業輕鬆上雲!這裡使用的是mmseg4j分詞器 debugquery發現被切分為 提高 寶貝 排名 執行,這時搜尋條數為9條。更改搜尋條件,進行搜尋,此時搜尋條數為1469,遠遠大於之前的搜尋條件。分詞完畢,將分詞結果以下查詢語法傳入到solr 例如分詞前是 提高寶貝排名 分詞...
Solr學習總結(七)Solr搜尋引擎的整體架構
經過前面一段時間的努力,終於把我所知道的關於solr 的內容都總結完了。前面講到了solr 的安裝配置,web管理後台的使用,solr 的查詢引數和查詢語法,還說到了solr的客戶端 solrnet 的基本用法和query,facet,高亮等實際開發中的常用方法。可以說solr的相關的基礎的內容,都...
Solr學習總結(七)Solr搜尋引擎的整體架構
經過前面一段時間的努力,終於把我所知道的關於solr 的內容都總結完了。前面講到了solr 的安裝配置,web管理後台的使用,solr 的查詢引數和查詢語法,還說到了solr的客戶端 solrnet 的基本用法和query,facet,高亮等實際開發中的常用方法。可以說solr的相關的基礎的內容,都...