如何修复Elasticsearch存储库中的lookup元素中的[terms]查询不支持[query]?

时间:2019-04-04 08:32:23

标签: java spring-boot elasticsearch

我想按名称查找产品列表。查询应如下所示:select * from product where name like '%{name}%'

以下是我使用的elasticsearch查询:

@Query("{\"bool\" : {\"must\" : {\"terms\" : {\"name\" : {\"query\" : \"?*\",\"analyze_wildcard\" : true}}}}}")
    List<WarehouseProductDTO> findByName(String name);

当我运行项目时,它说[terms]查询不支持lookup元素中的[query]

请有人帮我吗?

1 个答案:

答案 0 :(得分:0)

我认为您想使用query_string query而不是terms

@Query("{\"bool\" : {\"must\" : {\"query_string\" : {\"default_field\": \"name\", \"query\" : \"?*\",\"analyze_wildcard\" : true}}}}")
List<WarehouseProductDTO> findByName(String name);