首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lucene倒排索引访问计数

Lucene倒排索引访问计数
EN

Stack Overflow用户
提问于 2012-02-02 17:58:45
回答 1查看 329关注 0票数 2

在Lucene中,我想知道倒排索引中的访问次数。

也许Lucene有这样的倒排索引,

猫狗

d01 d02

d02 d01

d03 d03

如果我使用查询"cat dog",Lucene将连续访问倒排索引。然后我问前2个结果,只有4次访问,Lucene将返回d01,d02。在这种情况下,我想知道访问时间(在本例中为"4")。

目前,我是这样使用Lucene的。

代码语言:javascript
复制
Query q = new QueryParser(Version.LUCENE_35, "title", analyzer).parse(querystr);
int hitsPerPage = 10;
IndexSearcher searcher = new IndexSearcher(index, true);
TopScoreDocCollector collector = TopScoreDocCollector.create(hitsPerPage, true);
searcher.search(q, collector);
ScoreDoc[] hits = collector.topDocs().scoreDocs;

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-02-03 06:21:49

渐近地,如果存在p匹配,并且您正在查找顶部的k,则时间将是p log k。所以在你的情况下,6 log 2 = 6。(当然,对于如此小的数字,这个公式会给出可笑的结果)。

有关详细信息,请参阅this

请注意,“前两名”并不意味着“前两名”,而是“两个最高分”。根据示例中的权重,Lucene可能会忽略d03。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9110294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档