複数のフィールドを持つインデックスがあり、そのうちの 1 つは製品のカテゴリ名を格納する文字列フィールドです...「Electronics」、「Home」、「Garden」など
new StringField("category_name", categoryName, Field.Store.YES)); //categoryName is a value such as "Electronics"
名前、価格、およびカテゴリで製品を検索するためにブール クエリを実行していますが、2 つのカテゴリを同時にクエリできるように 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
これは 1 つのカテゴリの検索では問題なく機能しますが、2 つのカテゴリになる "Electronics OR Home" を検索する方法がわかりません。