Эластичный поисковый запрос по нескольким значениям - PullRequest
0 голосов
/ 24 сентября 2018

Я использую Java QueryBuilder для поиска значений вasticQuery. Ниже приведен мой фрагмент кода.Пример 2 json store в упругом поиске {"dataLayer": "sourcefeed"} {"dataLayer": "sandbox"}

BoolQueryBuilder qb = QueryBuilders.boolQuery();
qb.must(QueryBuilders.matchQuery("dataLayer",inputValue);

Входное значение может быть либо sourcefeed, либо sandbox, либо и тем и другим, в зависимости от моего вводаЗначение должно возвращать выходные данные. Для одного значения оно работает нормально, но если я даю input как InputValue = "sourceFeed, sandbox", то оно не работает. Пробные терминыQuery также, но они не выбираются правильно. Пожалуйста, помогите мне решить проблему.

Спасибо, Пракаш

1 Ответ

0 голосов
/ 26 сентября 2018
SearchSourceBuilder query = new SearchSourceBuilder();
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
List<QueryBuilder> queryBuilders1 = new ArrayList<QueryBuilder>();
TermsQueryBuilder termsQuery = QueryBuilders.termsQuery("dataLayer.keyword", listOfValues);
queryBuilders1.add(termsQuery);
boolQueryBuilder.must(queryBuilders1.get(0));
query.query(boolQueryBuilder);

добавить sourceFeed, песочницу и т. Д. В один список и передать его в QueryBuilders.termsQuery.Попробуйте это. Надеюсь, это сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...