import co.elastic.clients.elasticsearch._types.query_dsl.*;
*
*
BoolQuery.Builder mainQuery = QueryBuilders.bool();
*
*
*
// existing logic, which cannot be changed
*
*
BoolQuery.Builder subQuery = QueryBuilders.bool();
subQuery.should(QueryBuilders.wildcard().field("projectNumber").value('*' + projectNumber + '*').build()._toQuery());
subQuery.should(org.elasticsearch.index.query.QueryBuilders.termsQuery("projects", projectNumber).toQuery());
mainQuery.must(subQuery.build()._toQuery());
< /code>
Ich habe ein Dokument in der elastischen Suche gespeichert und es enthält das Feld "ProjectNumber" und eine Liste "Projekte". Beide sind Zeichenfolgen und ich möchte alle Dokumente auswählen, wenn die Projektnummer dem Feld "ProjectNumber" entspricht oder in der Liste "Projekte" vorhanden ist. Der oben genannte Code hat ein Problem. Die ".toquery ()" Methode in "Begriffen" gibt Kompilierungsfehler "nicht auf org.apache.lucene.search.query" zu. und wenn ich die ".toQuery ()" Ich werde erhalte "kann" die Methode nicht beheben "sollte (BegriffequeryBuilder) '" Fehler. < /p>
Kann jemand helfen? Wenn die oben genannte Erklärung nicht möglich ist>
Erstellen Sie elastische Suchbegriffe Abfrage in Java mit query_dsl -Paket ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post