0

我正在使用 solr 搜索文章。我创建了 2 个测试“body”句子,其中包含常用词“tall”,但没有匹配项。

查询---> 正文:“外面有高个子” AND !UserId:2

与以下帖子不匹配:

身体:KU塔真高 UserId:3

这只是一个非常低的匹配分数吗?还是这里发生了其他事情?在匹配分数低的情况下,真的应该那么低吗?正文句子很短,并且有一个共同的词,我本来希望有一些匹配。

编辑:我认为匹配没有发生,因为有 !UserId: 2 条件。如果我尝试在没有它的情况下匹配正文句子,它非常自由。谁能解释一下?也许如何最好地构建查询以避免这种类型的特定行为?

谢谢!

4

2 回答 2

1

我已经看到了一些时髦的行为!Solr 的运算符。我建议您改用 - (负指示符),如SolrQuerySyntax Wiki Page所示。尝试更改您的原始查询以Body:"There are tall people outside" AND -UserId:2查看它是否按预期工作。

于 2011-09-28T01:37:17.400 回答
0

For those who come after me, I found a solution however not necessarily an explanation for its behavior.

The Solr query:

(PostBody:There are tall people outside) AND !UserId:2

worked as I desired above. Note that if the quotes are added around the body, it does not match. I believe Solr attempts to match such a query as a single string rather than individual words.

于 2011-09-28T01:50:36.243 回答