suggest 是搜索引擎一个方便的功能
suggest 是搜索引擎一個方便的功能,對數據的關鍵字進行預測和建議,減少了用戶的輸入,大體的效果如下:
幸運的是 solr 也提供了類似的功能,在該功能的基礎上,配合 jQuery 或 kissy 的自動完成組件就可以實現類似上面的功能。
啟動該功能的過程大體如下:
suggest 的功能依賴拼寫組件,solr_home/data 目錄下會有一個 spellchecker 目錄,該目錄用于存放 suggest 和 拼寫檢查的索引庫,所以要先配置 spell 功能,配置如下:
| 1 2 3 4 5 6 7 8 9 | <searchComponent?name="spellcheck"?class="solr.SpellCheckComponent"><str?name="queryAnalyzerFieldType">textSpell</str><lst?name="spellchecker"><str?name="name">default</str><str?name="field">title</str><str?name="buildOnCommit">true</str><str?name="spellcheckIndexDir">spellchecker</str></lst></searchComponent> | 
上述中的 field 用于指定主索引庫中用于 spellchecker 索引的數據從主索引庫的那個字段來獲取。buildOnCommit 該屬性為 true 時,當主索引庫有提交指令時,將會自動把指定字段的內容送到 spellchecker ?索引庫,作為拼寫檢查和 suggest 使用。
接下來配置 suggest 的處理組件和請求類,如下所示:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <searchComponent?class="solr.SpellCheckComponent"?name="suggest"><lst?name="spellchecker"><str?name="name">suggest</str><str?name="classname">org.apache.solr.spelling.suggest.Suggester</str><str?name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookupFactory</str><float?name="threshold">0.005</float><str?name="buildOnCommit">true</str></lst></searchComponent><requestHandler?class="org.apache.solr.handler.component.SearchHandler"?name="/suggest"><lst?name="defaults"><str?name="spellcheck">true</str><str?name="spellcheck.dictionary">suggest</str><str?name="spellcheck.onlyMorePopular">true</str><str?name="spellcheck.count">5</str><str?name="spellcheck.collate">true</str></lst><arr?name="components"><str>suggest</str></arr></requestHandler> | 
這時候重新提交數據,會發現原先為空的 spellchecker 為空的索引庫中有數據了,然后打開類似這樣的網址(請將q=的值換成 title 字段中有的值)
| 1 | http://localhost:8983/solr/suggest/?q=%E7%94%9F | 
本文固定鏈接: http://www.chepoo.com/solr-suggest-apply.html | IT技術精華網
轉載于:https://my.oschina.net/u/2359500/blog/611623
總結
以上是生活随笔為你收集整理的suggest 是搜索引擎一个方便的功能的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Python 实现简单的单机版 21 点
- 下一篇: 广告学概论重点复习资料-完整版
