如果我理解正確的匹配,你希望相關地址的任意數,可回收分開,但搜索只是爲:
address:"my address"
我會建議存儲地址命名你喜歡什麼(我將在這裏使用'address1'和'address2'),並積累ir文本放入一個大的舊地址欄中。喜歡的東西:
doc.add(new Field("key", "1", Field.Store.YES, Field.Index.ANALYZED));
doc.add(new Field("name", "sam", Field.Store.YES, Field.Index.ANALYZED));
doc.add(new Field("address", "lane no 1 behind la gardens near abc cross main road", Field.Store.NO, Field.Index.ANALYZED));
//Note, that you can add multiple fields with the same name, and it will effectively be merged together, as:
doc.add(new Field("address", "more address information for searching", Field.Store.NO, Field.Index.ANALYZED));
doc.add(new Field("address1", "lane no 1 behind la gardens", Field.Store.YES, Field.Index.NO));
doc.add(new Field("address2", "near abc cross main road", Field.Store.YES, Field.Index.NO));
注意地址傳遞Field.Store.NO
和Field.Index.ANALYZED
,而地址1和地址2傳遞Field.Store.YES
和Field.Index.NO
。因此,您在'地址'上進行搜索,但從未在'地址1'或'地址2'上搜索,並且您從找到的文檔中檢索'地址1'和'地址2',但從不'地址'