我最近设置了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