- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 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/
我有这样的现有代码: final Term t = /* ... */; final Iterator i = searcher.search( new TermQuery( t ) ).iterat
我在运行 Lucene 官方网站上的搜索演示示例代码时遇到问题。里面有这部分代码: TopDocs results = searcher.search(query, 5); ScoreDoc[] hi
要删除 Lucene 上的文档,可以使用带有查询和/或术语的函数 indexWriter.deleteDocuments(...) 。效果很好。 但是,我需要浏览文档集合,并根据条件删除其中一些文档。
我想使用 Lucene 索引(版本 4.3.1)查找查询的总命中次数。 我明白我必须使用 https://lucene.apache.org/core/5_3_0/core/org/apache/lu
我是一名优秀的程序员,十分优秀!