2012-11-03 42 views
0

我想知道是否有Solr開箱的東西,它允許我在一個字典文件(包含單詞和短語)內搜索以返回包含我的搜索字詞的所有短語。Solr在字典文件中搜索

例如,我的字典文件可能有:

red car 
blue bike 
big bike tires 

當我搜索「自行車」,我希望看到

blue bike 
big bike tires 

當我搜索「大輪胎」,我希望見

big bike tires 

Solr有什麼可以支持這個嗎?我正在研究SpellCheckComponent,但它只支持前綴搜索。

基本上,我想實現solr搜索(令牌搜索),但對字典文件(這個文件也將用於autosuggest)。

任何意見或方向,將不勝感激。

回答

1

爲什麼不把這些短語存儲在索引本身?該模式可以是:

type: suggest_phrase #other types are product or review_article 
phrase: big bike tires 

所以你的big tires搜索將是:

..fq=type:suggest_phrase&q=phrase:big tires 
+0

感謝您的答覆。這會起作用,但我擔心,我現有的模式有幾個產品信息字段。如果我要將這些短語添加到索引本身,那麼由於短語類型是「suggest_phrase」,因此此文檔條目不需要填充其他「產品」相關字段。這個可以嗎?爲單獨的短語創建一個全新的模式(運行在單獨的核心上)更好嗎,還是將它們合併到現有模式中會更好? – user321532

+0

爲了簡單起見,我會將它們合併到現有架構中。我們也使用文檔類型;包括每個類型特定的字段以及常用字段(如創建日期)。 – aitchnyu

+0

感謝您的回覆。關於不同文檔類型應該保存在同一個模式中與被分離到不同模式中是否有一個通用規則?考慮到性能(不確定使用fq和獨立核心的性能會受到怎樣的影響),或者是來自不同文檔類型的字段重疊。如果不同文檔類型的字段之間幾乎沒有重疊,該怎麼辦?這是否意味着我們應該完全使用不同的模式,即使業務領域是相關的(即products,review_article)。 – user321532