1. 程式人生 > >solr-利用suggest新增Solr中自動提示功能的簡介

solr-利用suggest新增Solr中自動提示功能的簡介

suggest 是搜尋引擎一個方便的功能,對資料的關鍵字進行預測和建議,減少了使用者的輸入,大體的效果如下:
suggest
幸運的是 solr 也提供了類似的功能,在該功能的基礎上,配合 jQuery 或 kissy 的自動完成元件就可以實現類似上面的功能。
啟動該功能的過程大體如下:
suggest 的功能依賴拼寫元件,solr_home/data 目錄下會有一個 spellchecker 目錄,該目錄用於存放 suggest 和 拼寫檢查的索引庫,所以要先配置 spell 功能,配置如下:

在solrconfig.xml中新增如下配置:

<searchComponentname="spellcheck"
class="solr.SpellCheckComponent">
<strname="queryAnalyzerFieldType">text_ik</str> <lstname="spellchecker"> <strname="name">default</str> <strname="field">suggestion</str> <strname="buildOnCommit">true</str> <strname="spellcheckIndexDir"
>
spellchecker</str> </lst> </searchComponent>

上述中的 field 用於指定主索引庫中用於 spellchecker 索引的資料從主索引庫的那個欄位來獲取。buildOnCommit 該屬性為 true 時,當主索引庫有提交指令時,將會自動把指定欄位的內容送到 spellchecker 索引庫,作為拼寫檢查和 suggest 使用。

接下來配置 suggest 的處理元件和請求類,如下所示:

這時候重新提交資料,會發現原先為空的 spellchecker 為空的索引庫中有資料了,然後開啟類似這樣的網址(請將q=的值換成 title 欄位中有的值)

http://localhost:8983/solr/suggest/?q=%E7%94%9F

suggestRSS