2011-08-25 44 views
1

最近我已經開始使用Lucene。然而,幾天後,我發現由我提供的字符串形式的查詢被Lucene轉換爲更一般的查詢。Lucene的自動查詢轉換問題

例子:

MY QUERY: "want to go" (including " as I'm searching whole phrases) 
QUERY OBJECT created from my query (.toString): text:"want ? go" 

NUMBER OF RESULTS for texts: 
I want to go out today -> 1 result - correct 
I want sdfto go out today -> 1 result - incorrect, should be 0 

我想匹配execly短語 「想去」,而不是 「想什麼」。我注意到只有單詞「to」和「a」被替換爲「?」。

我的問題是爲什麼Lucene會改變我提供的查詢,以及如何強制Lucene詢問我的查詢(不變)?

此外,我使用StandardAnayzer(索引和查詢)。

回答

2

tostop word,這意味着它不是索引,而不是由一些analyzers [包括StandardAnalyzer]搜索,因爲它通常不用於搜索有用。如果你不希望它被「停止」,你將需要使用一個不同的分析器[索引和搜索],但它可能會有值得的結果。
您也可以從外地STOP_WORDS

重要刪除單詞「到」:你的索引分析和搜索分析應該是一致的,包括STOP_WORDS場!