2012-03-08 18 views
1

。 NOT_ANALYZED而不是Field.Index.ANALYZED,程序找不到名字:傑克,爲什麼?Lucene的field.index有線現象

由於Field.Index.NOT_ANALYZED字段也被索引,我認爲該字段是可搜索的,但爲什麼我找不到任何東西?

回答

0

它應該工作。但是你的查詢解析器可能使用了一個分析器,它對你的令牌執行一些操作(比如小型化)。嘗試在搜索時使用KeywordAnalyzer。

或者,你可以建立查詢自己:

Query q = new TermQuery(new Term("name", "Jack")); 
+0

謝謝你,它的工作原理分析儀從SimpleAnalyzer改爲KeywordAnalyzer後進行搜索。 – remy 2012-03-08 16:56:37

+0

修復我的答案。你說得對,KeywordAnalyzer比WhitespaceAnalyzer更好。 – jpountz 2012-03-08 16:58:51