2011-02-16 102 views
0

searchString =「我正在使用sql。server設置是一件容易的事情。」;lucene 3.0.3 |短語查詢問題

雖然我在上面的字符串中搜索短語查詢「Sql Server」,但它給出的結果不正確。正如在上面的字符串中,sql和服務器是用點(。)分隔的。

同時使用PhraseQuery和SpanQuery會得到相同的結果。

任何建議將不勝感激!

+0

您的文字如何編入索引?你使用什麼分析儀?什麼查詢語法? –

回答

0

你可以編寫一個分析器,將點作爲記號,所以你會得到3個記號 - 「sql」,「。」。 (點)和「服務器」(我不知道任何現有的分析儀,可以做到這一點)。但它可能會產生不可預知的結果,所以我建議你只是忽略這種罕見的情況。如果它不是一個選項,並且您的程序大量使用文本的詞彙結構,我會建議使用一些自然語言處理工具,比如GATE而不是Lucene。