2010-11-19 72 views
0

我們使用Lucene.Net(2.3.2.1)和NHibernate.Search在我們的產品中,我發現了一個非常奇怪的行爲,涉及我的查詢。 這裏是從我thwo測試結果,顯示所輸入的查詢和對什麼查詢解析器產生第二行輸出調試,使用StandardAnalyser:Lucene.Net查詢解析器/索引錯誤?

試驗1(失敗)

LastName:* AND IdentityType:A 
LastName:* 

對比試驗2(工作)

LastName:* AND IdentityType:F 
+LastName:* +IdentityType:f 

正如你所看到的唯一區別是「A」與「F」 - 以防萬一我發揮和能複製使用「AN」「AS」「和」同一個問題 - 外殼並不重要,但所有其他條款的工作,我心中的AND關鍵字,所以我厭倦了「O」 「或」,但這兩個工作。

對於我來說,這看起來像查詢分析器的問題......但現在我也深入瞭解了我生成的索引,以及所有在IndentityType字段中使用「A」的實體都沒有編入索引!

我很感激任何有關該問題的幫助或提示。

親切的問候, 克里斯

回答

2

的StandardAnalyzer有分析文本時,它使用停用詞列表。這個「A」正在被刪除。

嘗試使用per field analyzer wrapper以及a different analyzer作爲您的IndentityType字段。

在較爲管理註釋,你可能已經以較快的答案收到,如果這個問題被標記爲「Lucene的」,而不僅僅是「Lucene.net」 ......

祝你好運,

+0

非常感謝許多。我會嘗試的 – 2010-12-08 15:45:19