Получить всю запись, включая определенные поля - PullRequest
0 голосов
/ 28 мая 2020

Я работаю с Elasticcsearch 7.3. Я хочу получить только две записи всех документов, используя JAVA Api из моего индекса. Я использую следующий код, но он возвращает нулевой объект.

        RestHighLevelClient client;

        SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
        sourceBuilder.fetchSource("recipe_ID,recipe_url", null);
        sourceBuilder.from(0);
        SearchRequest searchRequest = new SearchRequest("recipes");
        searchRequest.source(sourceBuilder);

        SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);

        SearchHit searchHit = searchResponse.getHits().getAt(0);

        String resultString = searchHit.getSourceAsString();

        return resultString;

Мне нужно включить в свой результат только два поля recipe_ID и recipe_url .

1 Ответ

1 голос
/ 29 мая 2020

Вы на правильном пути, хотя фильтрация источника требует, чтобы вы указали свои поля в таком массиве:

    String[] includeFields = new String[] {"recipe_ID", "recipe_url"};
    sourceBuilder.fetchSource(includeFields, null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...