我有一個索引有多個字段,其中之一是一個字符串字段,我在其中存儲產品的類別名稱......例如「Electronics」,「Home」,「Garden」等Lucene OR搜索使用布爾查詢
new StringField("category_name", categoryName, Field.Store.YES)); //categoryName is a value such as "Electronics"
我執行布爾查詢來查找名稱,價格和類別的產品,但我不知道該怎麼辦OR搜索,這樣我可以查詢兩類在同一時間。
我當前的查詢看起來是這樣的:
String cat = "Electronics"
TermQuery catQuery = new TermQuery(new Term("category_name", cat));
bq.add(new BooleanClause(catQuery, BooleanClause.Occur.MUST)); // where "bq" is the boolean query I am adding to, I tried .SHOULD but that didn't help either
能正常工作的一個類別搜索,但我不知道如何搜索「電子或家庭」,這將是兩大類。
@ Ibear的答案是正確的,但你可能想讀http://searchhub.org/dev/2011/12/28/why-not-and-or爲了更好地理解布爾邏輯如何在Lucene中工作, – mindas
@mindas,感謝您的鏈接,這實際上也幫助了很多。希望我能夠將它作爲答案來投票,因爲它非常有用。 – SoluableNonagon