1

当用户在引号中输入搜索词时,搜索引擎应该准确地搜索引号内的内容,还是应该像不带引号的查询一样对查询进行一些分析?

例如,查询是否应该 "U.S. of America"匹配US of America?同样,查询应该"foo-bar"匹配foo bar吗?当这些查询不在引号中时,我会假设答案是肯定的,它们应该匹配。但是,当放在引号中时,用户暗示他们正在寻找完全匹配的内容。问题是如何准确。

我知道这更像是一种设计选择而不是编程选择,但是我该如何回答这个问题呢?如果被问到,我的用户可能不知道我在说什么。这里有一个简单的答案吗?

4

1 回答 1

0

对于开箱即用的解决方案,请检查simple-query-string-query。您会注意到它考虑了 qoutes。

与“foo-bar”与“foo bar”以及“US”与“US”相关。这是由索引上的分析器和标记器确定的。这些定义了如何将字符串拆分为标记以及如何修改甚至忽略标记。除非您指定自定义的东西,否则使用带有标准标记器的标准分析器。检查如何处理您的案件的链接。

要了解在进行短语匹配时如何考虑标记位置,请参阅这篇文章

于 2016-11-05T16:23:55.720 回答