2013-10-30 82 views
0

在StackOverflow我發現這一個In a Lucene/Lucene.net search, how do I count the number of hits per document?Lucene。我如何計算每個文檔的點擊次數?

但我不能從下面的代碼定義SpanQuery。我使用Lucene 4.4.0(spanquery的定義與舊版本不同)

IndexReader indexReader = // define your index reader here 
SpanQuery spanQuery = // define your span query here 
Spans spans = spanQuery.getSpans(indexReader); 
int occurrenceCount = 0; 
while (spans.next()) { 
    occurrenceCount++; 
} 

任何人都可以幫忙嗎?我真的很感激完整的答案用一個例子

+0

事實上,創建'SpanQuery's並沒有太大的,因爲在所有2.9.4改變。一些新類型的SpanQuery被添加,但除此之外。你有什麼特別的問題嗎? – femtoRgon

+0

是的,我不知道如何定義 – Mega4alik

回答

0

的更簡單的方式來獲得在索引術語的occurances的總數,按照鏈接到的回答,應該是:

Term term = new Term("myfield", "myterm"); 
long numOccurances = indexReader.totalTermFreq(term); 
+0

如何獲得每個文檔的發生次數? – Mega4alik

0

例如

SpanQuery spanQuery = new SpanTermQuery(new Term("myfield", "myterm"); // define your span query here`enter code here` 

可以在對單個詞感興趣時使用(本示例在字段「myfield」中查找術語「myterm」)。

看看其他SpanQuery實現也(SpanOrQuery,SpanNearQuery,SpanNotQuery,...)

相關問題