Я новичок в упругом поиске. Я пытался работать с клиентом высокого уровня.
Я могу работать с операциями CRUD, с функцией поиска я застрял.
Моя цель - привести все данные на основе идентификатора книги, начиная с критерия поиска E106
http://localhost:5918/book-elastic/books/book/E106
Я добавил часть кода ниже
Я могу получить все данные, используя
QueryBuilders.matchAllQuery ()
Но я не смог получить конкретное значение поля
QueryBuilders.termQuery ( "_ идентификатор", BookID)
Я также поделился скриншот обоих результатов
Может кто-нибудь помочь мне с запросом?
Пожалуйста, вернитесь, если потребуется какая-либо дополнительная информация.
Заранее спасибо
public Page<BookEntity> findByBookId(String bookId, Pageable pageable) throws IOException{
SearchRequest searchRequest = new SearchRequest(INDEX);
searchRequest.types(TYPE);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.fetchSource(false);
//searchSourceBuilder.fetchSource(null, new String[]{"excludedProperty"});
/*MatchQueryBuilder matchQueryBuilder = new MatchQueryBuilder("id",bookId);
matchQueryBuilder.fuzziness(Fuzziness.AUTO);
matchQueryBuilder.prefixLength(3);
matchQueryBuilder.maxExpansions(7);*/
searchSourceBuilder.from((int)pageable.getOffset());
searchSourceBuilder.size(pageable.getPageSize());
//searchSourceBuilder.query(matchQueryBuilder);
searchSourceBuilder.query(QueryBuilders.matchAllQuery());
//searchSourceBuilder.query(QueryBuilders.termQuery("_id",bookId));
searchRequest.source(searchSourceBuilder);
SearchResponse searchResponse = restHighLevelClient.search(searchRequest,RequestOptions.DEFAULT);
SearchHits hits = searchResponse.getHits();
SearchHit[] objectHits = hits.getHits();
for (SearchHit searchHit : objectHits) {
System.out.println("***************************");
System.out.println("Search Hit :: "+searchHit);
System.out.println("***************************");
}
return null;
}
скриншот результата
- matchAllQuery
Ввод: {"from": 0, "size": 20, "query": {"match_all": {"boost": 1.0}}, "_ source": false}

Ответ
Значение ответа: {"взял": 5, "timed_out": ложно, "_ осколки": {"всего": 5, "успешно": 5, "пропущено": 0, "не удалось": 0}, " хиты ": {" всего ": 3," max_score ": 1.0," хиты ": [{" _ индекс ":" bookdata», "_ типа": "книги", "_ идентификатор": "E106401", "_ оценка": 1,0}, { "_ индекс": "bookdata", "_ типа": "книги", "_ идентификатор": "E106403", "_ Оценка": 1,0}, { "_ индекс": "bookdata", "_ типа": "книги », "_ идентификатор": "E10640", "_ оценка": 1,0}]}}

Входные значения: QueryBuilders.termQuery ("_ id", bookId)
* +1055 * { "от": 0, "размер": 20, "запрос": { "Термин": { "_ идентификатор": { "значение": "E106", "наддува": 1.0}}}, "_ источник «ложь}

Ответ
Ответ нулевой
