2012-08-17 15 views
0

我試圖找到關鍵字的occerrences的數量「(奔馳或奔馳)」的使用SpanTermQuery的,但只使用單個單詞的小情況下,像「奔馳」,「奔馳」等,所以我無法找到關鍵字「奔馳或奔馳」的出現。請問任何人都可以告訴我如何在Lucene中使用SpanTermQuery中的布爾運算符關鍵字?

如果有人對此有任何想法,請幫助我。

以下是我正在使用的代碼段。

SpanQuery spanQuery = new SpanTermQuery(new Term("FullText","Mercedes OR Benz")); 
// define your span query here 
Spans spans = spanQuery.getSpans(indexReader); 
int occurrenceCount = 0; 
while (spans.next()) { 
    occurrenceCount++; 
} 
System.out.println("Number of Occurences in FullText spans : "+occurrenceCount); 

在此先感謝。

回答

0

嘗試使用MultiFieldQueryParser

String querystr = "Mercedes OR Benz" ; 
String fields[] = {"brands"}; 

StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_36); 
Query q = new MultiFieldQueryParser(Version.LUCENE_36, fields, analyzer).parse(querystr); 
+0

感謝您的答覆,但我不想在多個領域進行搜索我想找到一個特定的文件中的關鍵字的出現次數。但問題是SpanTermQuery不允許在關鍵字中使用布爾運算符或特殊字符。 – leo 2012-08-17 09:45:52

相關問題