Как исключить исходные поля в поисковых API? - PullRequest
0 голосов
/ 20 апреля 2020

Elasticsearch Java Клиент REST высокого уровня GET API предоставляет способ управления тем, какие поля _source выбираются.

val request = GetRequest(index)
    .id(id)
    .fetchSourceContext(FetchSourceContext(true, includedFields, excludedFields))

elasticClient.get(request, RequestOptions.DEFAULT)

Как этого добиться с помощью API поиска ?

Например, для следующего поискового запроса:

val source = SearchSourceBuilder()
source.query(QueryBuilders.matchAllQuery())
val request = SearchRequest(index)
    .source(source)
elasticClient.search(request, RequestOptions.DEFAULT)

1 Ответ

1 голос
/ 20 апреля 2020

Пожалуйста, обратитесь от официального ES сделать c,

Этот метод также принимает массив из одного или нескольких шаблонов подстановочных знаков, чтобы контролировать, какие поля будут включены или исключены в более детальный способ:

кодовый блок

String[] includeFields = new String[] {"title", "innerObject.*"};
String[] excludeFields = new String[] {"user"};
sourceBuilder.fetchSource(includeFields, excludeFields);

Для получения API, о котором вы уже упоминали, вы можете предоставить массив includeFields и excludeFields для управления извлечением полей из _source полей.

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