gpt4 book ai didi

java - TopDocs.totalHits 与 Indexsearcher.search 参数 'n' 的关系

转载 作者:行者123 更新时间:2023-12-02 11:14:49 24 4
gpt4 key购买 nike

我想使用 Lucene 索引(版本 4.3.1)查找查询的总命中次数。

我明白我必须使用 https://lucene.apache.org/core/5_3_0/core/org/apache/lucene/search/IndexSearcher.html#search(org.apache.lucene.search.Query,%20int) 的搜索方法之一

public TopDocs search(Query query,
int n) - Finds the top n hits for query.

在 TopDocs 中,我可以看到 totalHits 字段 https://lucene.apache.org/core/5_3_0/core/org/apache/lucene/search/TopDocs.html#totalHits

但我无法理解 'n' search() 参数对 TopDocs.totalHits.

例如:如果我设置 n = 1000,那么 TopDocs.totalHits 会是 < = n 吗?

在我的一次运行中,我通过了 n = 1,但在该搜索中 TopDocs.totalHits 为 29。

有人可以提供一些线索吗?

最佳答案

If I set n = 1000, then is it TopDocs.totalHits will be < = n ?

是的。使用“n”您可以定义您感兴趣的结果数量。TopDocs.totalHits 反射(reflect)有效发现的点击数。

通常,搜索所有文档并不是很有用,因为这可能会导致性能问题。除此之外,用户可能对所有结果都不感兴趣 -> 会发生分页或过滤。

如果您想搜索所有结果,您需要使用收集器和此搜索方法:

public void search(Query query, Collector results)

根据您的收集器,您可以获得所有搜索结果或命中数或这些命中的分数。

关于java - TopDocs.totalHits 与 Indexsearcher.search 参数 'n' 的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50368313/

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