gpt4 book ai didi

solr - solr 查询中的否定

转载 作者:行者123 更新时间:2023-12-04 12:52:31 26 4
gpt4 key购买 nike

我正在尝试以下查询,但只得到零个结果(根据我的数据集,我应该得到 10 个结果)

http://mymachine:8983/solr/select/?q=-(HOSTID:302)

我还尝试了以下查询并再次得到零结果。
http://mymachine:8983/solr/select/?q=NOT(HOSTID:302)
但是,当我这样查询时,我得到 10 个结果(预期),
http://mymachine:8983/solr/select/?q=-(HOSTID:302)AND(*:*)
为什么会发生这种奇怪的事情?这是solr中的错误还是我遗漏了什么?

最佳答案

来自 solr 邮件列表的 Ahmet Arslan 帮助我找到了解决方案。只是为了将来的好处在这里提到它。

Solr 将顶级否定查询 (-field:something) 转换为 q=+: -field:something

看来你错过了那部分。

org.apache.solr.search.QueryUtils

`/** Fixes a negative query by adding a MatchAllDocs query clause.
* The query passed in *must* be a negative query.
*/
public static Query fixNegativeQuery(Query q) {
BooleanQuery newBq = (BooleanQuery)q.clone();
newBq.add(new MatchAllDocsQuery(), BooleanClause.Occur.MUST);
return newBq;
}`

关于solr - solr 查询中的否定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10651548/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com