#java #spring-boot #elasticsearch
#java #весенняя загрузка #elasticsearch
Вопрос:
Я хочу найти список продуктов по коллекции идентификаторов поставщиков. Запрос должен быть таким: выберите * из продукта, в котором указан vendorid ({список идентификаторов поставщиков}).
ниже приведен запрос elasticsearch, который я использую:
@Query("{"bool" : {"must" : {"bool" : {"should" : [ {"field" : {"vendor" : "?"}}, {"field" : {"vendor" : "?"}} ]}}}}")
List<WarehouseProductDTO> findByVendorIds(List<Long> vendorIds);
Когда я запускаю проект, он сообщает, что [запрос] не зарегистрирован для [поля]
Пожалуйста, кто-нибудь может мне помочь?
Ответ №1:
Вам нужно заменить field
на terms
вот так:
@Query("{"bool" : {"must" : {"bool" : {"should" : [ {"terms" : {"vendor" : ?0}} ]}}}}")
List findByVendorIds(List vendorIds);