標準のクエリパーサーを使用すると(関連するドキュメントを参照できます)、次のようなDBクエリと同様の構文を使用できます。
(country:brazil OR country:france OR country:china) AND (other search criteria)
または、少し単純化するために:
country:(brazil OR france OR china) AND (other search criteria)
あるいは、Luceneは、AND/OR構文ではなく+/-を使用して記述されたクエリもサポートします。その構文は、Luceneクエリに対してより表現力があります。この形式の同等のものは次のようになります。
+country:(brazil france china) +(other search criteria)
手動でクエリを作成する場合は、実際にBooleanQueriesをネストして同様の構造を作成し、正しいBooleanClausesを使用して指定したAnd/Orロジックを確立できます。
Query countryQuery = new BooleanQuery();
countryQuery.add(new TermQuery(new Term("country","brazil")),BooleanClause.Occur.SHOULD);
countryQuery.add(new TermQuery(new Term("country","france")),BooleanClause.Occur.SHOULD);
countryQuery.add(new TermQuery(new Term("country","china")),BooleanClause.Occur.SHOULD);
Query otherStuffQuery = //Set up the other query here,
//or get it from a query parser, or something
Query rootQuery = new BooleanQuery();
rootQuery.add(countryQuery, BooleanClause.Occur.MUST);
rootQuery.add(otherStuffQuery, BooleanClause.Occur.MUST);