6

我在使用 edismax 处理程序以 lucene 语法进行通配符搜索时遇到问题。我有 Solr 4.0 nightly build 从树干。

像“computer”这样的一般搜索会返回结果,但“com er”不会返回任何结果。类似地,像 'co?mput?r' 这样的搜索不会返回任何结果。当前唯一有效的通配符搜索类型是带有尾随通配符的搜索(如 compute? 或 comput)。

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

谢谢。

问候,
伊姆兰。

4

2 回答 2

5

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

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

于 2010-07-12T14:38:21.443 回答
0

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

中期通配符也没有问题。

好像还有什么问题。你确定你用的是edismax?

于 2010-07-12T16:22:14.263 回答