私はLuceneのに新しいです、私は私は本当にそれで失われています。このLuceneの「やクエリ」
content="some thext" and (id ="A" or id="B" or id="c")
のような検索に何かをしようとしています、あなたは
はありがとう私を助けることができます。
私はLuceneのに新しいです、私は私は本当にそれで失われています。このLuceneの「やクエリ」
content="some thext" and (id ="A" or id="B" or id="c")
のような検索に何かをしようとしています、あなたは
はありがとう私を助けることができます。
私はQuery Parser Syntax documentationで「グループ化」セクションでは、答えを提供してい信じる:
(jakarta OR apache) AND website
私はあなたがあなたの演算子(and
、or
)アッパーケースを作る必要があると思います。同様に、私はequals演算子を使うことはできないと思います(代わりにコロンを使用してください)。
content:"some thext" AND (id:"A" OR id:"B" OR id:"c")
BooleanQuery mainQuery = new BooleanQuery();
TermQuery contentFilter = new TermQuery(new Term("content", "some text"));
mainQuery.add(contentFilter, BooleanClause.Occur.MUST);
BooleanQuery idFilter = new BooleanQuery();
idFilter.setMinimumNumberShouldMatch(1);
idFilter.add(new TermQuery(new Term("id", A)), BooleanClause.Occur.SHOULD);
idFilter.add(new TermQuery(new Term("id", B)), BooleanClause.Occur.SHOULD);
idFilter.add(new TermQuery(new Term("id", C)), BooleanClause.Occur.SHOULD);
mainQuery.Add(idFilter, BooleanClause.Occur.MUST);
BooleanQueryが廃止されます。
新しい構文は次のようになります。
val searchManager = Search.getSearchManager(cache)
val queryBuilder = searchManager.buildQueryBuilderForClass(classTag[T].runtimeClass).get()
val luceneQuery = queryBuilder.bool()
luceneQuery.should(new TermQuery(new Term("type", "lala"))
luceneQuery.createQuery()
(==しなければならず、ORを==必要があります)あなたはそれを簡略化することができ –
それはあなたの助けとても成功した...ありがとう: '内容: "いくつかのthext" とID :("A" OR "B" OR "c") ' –