0
我有一個奇怪的問題,搜索lucene標記索引與短語查詢。Lucene短語查詢和Tokenized索引
創建以下列方式
Document doc = new Document();
FieldType ft = new FieldType(StringField.TYPE_STORED);
ft.setTokenized(true);
Field field1 = new Field("key", "T-Test 1", ft);
doc.add(field1)
Field field2 = new Field("key", "T-Test 2", ft);
doc.add(field2)
Field field3 = new Field("key", "T-Test 3", ft);
doc.add(field3)
Field field4 = new Field("key", "T-Test", ft);
doc.add(field4)
我用WhitespaceAnalyzer來標記值的指數。 如果我現在要搜索字符串「T測試」,我得到的結果值爲 T-Test 1,T-Test 2,T-Test 3,T-Test
我以下面的方式創建查詢。
PhraseQuery query = new PhraseQuery();
query.add(new Term("key","T-Test"));
query.setSlop(0);
BooleanQuery mainQuery = new BooleanQuery();
mainQuery.add(query, Occur.MUST);
我tryed也期運用具有相同的效果ComplexPhraseQueryParser。我只是得到所有的T-Test值。但我只想要T-測試,而不是「T測試1,T測試2和T測試3」 任何人都可以幫助我。 我接近成爲絕望 謝謝