我最近設置了solr和haystack來搜索我的一個django模型。我試圖修改由草垛建成使用默認的Solr模式的NGramTokenizerFactory
:Haystack沒有返回Solr管理控制檯亮點的結果
<fieldType name="text" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="32" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="32" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
我有一堆在我的數據庫一個或兩個詞的條目,我想來匹配用戶的查詢。例如,我可能有一個標題爲「dog」的對象,另一個標題爲「cat」。如果用戶搜索「狗貓」,那麼我想返回該查詢的狗和貓對象。
同樣,如果我搜索「我的酷網站」,我希望返回「網站」字段。
我嘗試使用solr管理界面來檢查以確保我的查詢得到匹配。似乎一切都還好吧: : 的問題是,當我用草堆默認搜索界面來搜索相同的查詢:
正如你所看到的,沒有結果發現。我嘗試使用KeywordFactory和一堆不同的solr配置。如果我沒有弄錯,那麼查詢應該得到匹配。我不確定乾草堆爲什麼會變空。
感謝您的任何幫助/建議,如果這是最好的方式去這樣的搜索。
感謝您的完整答案。這實現了我想要的。 – 2011-04-17 18:49:21