在Solr的通配符搜索

Imr*_*han 6 lucene search solr wildcard edismax

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

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

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

谢谢.

此致,
伊姆兰.

Pas*_*imo 5

除非激活反向字符串过滤器,否则前导通配符将不起作用.要在Solr中使用它,请将ReversedWildcardFilterFactory添加到要使用前导通配符搜索的字段的分析器中.

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


Jem*_*Jem 0

使用edismax,前导通配符没有问题。我刚刚重新测试了一下。

中期的通配符也没有问题。

看来还有什么不对劲的地方。你确定你用的是edismax吗?