Ich habe ein indiziertes Objekt mit drei Feldern (userId, Titel, Beschreibung). Ich möchte alle Objekte eines bestimmten Benutzers finden, wobei der Titel ODER die Beschreibung ein bestimmtes Schlüsselwort enthält.Wie erstellt man eine verschachtelte boolesche Abfrage mit Lucene API (a UND (b OR c))?
Ich habe so etwas wie dies (aber das ist offensichtlich falsch):
WildcardQuery nameQuery = new WildcardQuery(new Term("name", filter.getSearch()));
WildcardQuery descQuery = new WildcardQuery(new Term("description", filter.getSearch()));
TermQuery userQuery = new TermQuery(new Term("user_id", u.getId()+""));
BooleanQuery booleanQuery = new BooleanQuery();
booleanQuery.add(new BooleanClause(name_query, Occur.SHOULD));
booleanQuery.add(new BooleanClause(desc_query, Occur.SHOULD));
booleanQuery.add(new BooleanClause(user_query, Occur.MUST));
Wie Sie den Code ändern Vorspiel alle Objekte mit der richtigen ID und dem Suchbegriff in Titel oder die Beschreibung zu bekommen?