Создать запрос на упругие условия поиска в Java с использованием пакета Query_dslJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Создать запрос на упругие условия поиска в Java с использованием пакета Query_dsl

Сообщение Anonymous »

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>
Я сохранил документ в эластичном поиске и содержит поле «ProjectNumber» и список «проекты». Оба являются строками, и я хочу выбрать все документы, если номер проекта равен поле «ProjectNumber» или присутствует в списке «Проекты». У вышеупомянутого кода есть проблема. Метод ".toquery ()" в «терминах» дает ошибку компиляции, «не может получить доступ к org.apache.lucene.search.query». И если я удалю ".toquery ()" я получу "не могу разрешить метод" должен (termquerybuilder) '"ошибка. < /p>
может кто -нибудь помочь? Если вышеупомянутое заявление об терминах невозможно, можно ли объявить термины, такие как «Termsquery.builder TermsQuery = QueryBuilders.terms ();»?

Подробнее здесь: https://stackoverflow.com/questions/762 ... sl-package
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»