2010-05-12 56 views
5

我需要从几个lucene索引中提取出具有最高频率的项,以便将它们用于某些语义分析。因此,我想得到可能是前30名最常发生的术语(仍然没有决定门槛,我将分析结果)和他们的每个索引计数。我知道我可能因为潜在的重复删除而失去一些精确度,但现在,让我说我没问题。 (不用说也许)速度并不重要,因为我会做静态分析,所以我会重点放在简单的的实现上,因为我对Lucene不太熟练,并且不能理解我的想法周围的一些概念..从Lucene索引中获取最高频率项

我找不到任何类似的代码示例,所以所有具体的建议(代码,伪代码,代码示例的链接...)欣赏所有的建议!

谢谢!

回答

2

看一看这样的: http://sujitpal.blogspot.com/2009/02/summarization-with-lucene.html

类在本页面已经computeTopTermQuery方法,你应该能够轻松地改造为去在多个索引。

+0

Thanx!正是我需要的! – Julia 2010-05-13 09:04:30

+0

嗨,你好! 我使用lucene 4.4,所以它没有terms()方法?请帮帮我! – Thangnv 2013-10-06 11:48:23

+0

@Thangnv您可能想要为此打开一个单独的线程,或者通过电子邮件发送Lucene Java邮件列表。我手头没有Lucene 4.4。而这些日子时间一直很短缺; --( – mindas 2013-10-06 20:26:22

5

一个非常简单的方法是使用Luke。在“概览”标签上,有一个“显示顶部条款”按钮,可用于您的需要。

+0

就是这样。你可以复制粘贴或者甚至导出结果。 – 2010-05-12 21:34:04

+1

+1,如果你想运行你自己的代码卢克的代码告诉你如何.... – Mikos 2010-05-13 01:36:47