2017-09-27 3 views
0

私は3つのフィールドがF1F2F3と言っています。私はすべての3つのフィールドの値がnullとしてすべてのドキュメントを見つけるしたいと思います。 BooleanQueryを使ってこれを達成できますか?私がMUST_NOT句を3つのフィールドすべてに使用すると、これらのフィールドのいずれかを持つドキュメントは非ヌル値として返されません。複数のフィールド間のBooleanQuery

私は確かにこの

BooleanQuery booleanQuery = new BooleanQuery(); 
booleanQuery.add(new TermQuery(new Term(F1,"")), BooleanClause.Occur.MUST_NOT); 
booleanQuery.add(new TermQuery(new Term(F2,"")), BooleanClause.Occur.MUST_NOT); 
booleanQuery.add(new TermQuery(new Term(F3,"")), BooleanClause.Occur.MUST_NOT); 

この私はこれを達成することができますwork.Howするつもりはないようなものを実装について話していますか?どんな助けも役に立つでしょう。

答えて

0

インデックスがどのように見えるかわかりませんが、この権利を達成したいですか?

あなたがこの分野で検索されたクエリを持っていたいと、このフィールドは、このブールクエリは、この分野では(用語の二paramは「」である)空の用語を検索している

BooleanQuery booleanQuery = new BooleanQuery(); 
booleanQuery.add(new TermQuery(new Term(F1,"")), BooleanClause.Occur.MUST); 
booleanQuery.add(new TermQuery(new Term(F2,"")), BooleanClause.Occur.MUST); 
booleanQuery.add(new TermQuery(new Term(F3,"")), BooleanClause.Occur.MUST); 

空でなければなりません各フィールドについて、それは必須でなければならない。

関連する問題