在Solr的通配符搜索

时间:2010-07-12 14:05:15

标签: search solr lucene wildcard edismax

使用edismax处理程序在lucene语法中进行通配符搜索时遇到问题。我从后备箱每晚都有Solr 4.0。

像'computer'这样的常规搜索会返回结果,但'com er'不会返回任何结果。同样,像'co?mput?r'这样的搜索没有结果。唯一类型的通配符搜索工作是具有尾随通配符(例如计算?或计算机)。

我希望能够在开头( puter)和之间(com er)使用通配符进行搜索。有人可以告诉我我做错了什么以及如何解决它。

感谢。

问候,
姆兰。

2 个答案:

答案 0 :(得分:5)

除非您激活reverse string filter,否则前导通配符将无效。要在Solr中使用它,请在要使用前导通配符搜索的字段的分析器中添加ReversedWildcardFilterFactory

对于返回0结果的其他查询,请尝试使用luke查看您的术语的分析方式(存储在索引中)。如果您正在使用它,请不要忘记考虑堵塞的影响。

答案 1 :(得分:0)

使用edismax,领先的通配符没问题。我刚刚重新测试了它。

中期的通配符也没问题。

看起来还有其他错误。你确定你使用的是edismax吗?