gpt4 book ai didi

Java Lucene IndexSearcher.explain 用于过滤查询

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

给定一个 Lucene Query 查询,我可以通过调用以下内容来获得结果和评分的解释:

TopDocs results = searcher.search(query, 10);
ScoreDoc[] hits = results.scoreDocs;
searcher.explain(query, hits[idx].doc);

太棒了!

过滤查询有等效的吗?

如果我像这样插入 org.apache.lucene.search.Filter 过滤器:

TopDocs results = searcher.search(query, filter, 10);

如何解释上述查询的结果?

最佳答案

想想你想要实现什么目标。当您要求解释特定文档时,您可以使用搜索查询和文档 ID 来实现。过滤器与解释无关,因为它只是通过消除与提供的过滤器不匹配的文档来缩小命中总数,而不是通过更改实际查询。总而言之,过滤器对特定文档对其执行的查询的实际解释没有影响。见下文:

TopDocs results = searcher.search(query, filter, 10); // Apply filter here.
ScoreDoc[] hits = results.scoreDocs;
for(ScoreDoc hit : hits)
{
searcher.explain(query, hit.doc); // Filter won't affect this either way.
}

关于Java Lucene IndexSearcher.explain 用于过滤查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19914667/

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