我正在使用solr搜索文章。我创建了2个测试“body”句子,这些句子的常用词是“tall”,但是没有匹配。
查询--->身体:“外面有很高的人”和!UserId:2
与帖子不匹配:
身体:KU塔非常高 用户ID:3
这仅仅是一个非常低的匹配分数?还是还有其他事情发生在这里?在匹配得分低的情况下,它应该真的那么低吗?正文句子很短,并且有一个共同的词,我本来期待一些匹配。
编辑:我认为由于具有!UserId:2条件而没有发生匹配。如果我试图在没有它的情况下匹配正文句子,它就非常自由。有谁能解释一下?或许如何最好地构建查询以避免这种类型的特定行为?
谢谢!
答案 0 :(得分:1)
我看到了一些时髦的行为! Solr的操作员。我建议您使用 - (负指示符),如SolrQuerySyntax Wiki Page所示。尝试将原始查询更改为Body:"There are tall people outside" AND -UserId:2
以查看其是否符合您的预期效果。
答案 1 :(得分:0)
对于那些追随我的人,我找到了一个解决方案,但不一定是对其行为的解释。
Solr查询:
(PostBody:There are tall people outside) AND !UserId:2
按照我的要求工作。请注意,如果在主体周围添加引号,则它不匹配。我相信Solr会尝试将这样的查询与单个字符串匹配,而不是单个字符。