【发布时间】:2019-12-27 01:54:08
【问题描述】:
我正在尝试使用方法名称构建一个 Elasticsearch 查询,并且只是好奇如果属性之一具有多个字段(如下所示),方法名称是什么
@MultiField(
mainField = @Field(type = Text, fielddata = true),
otherFields = {
@InnerField(suffix = "keyword", type = Keyword)
}
)
private String resourceType;
我需要“关键字”类型(未分析),因此我可以使用整个字符串进行搜索。
我试过了
List<Event> findByResourceType_KeywordIsIn(Collection<String> list);
并出现以下错误
No property keyword found for type String! Traversed path: Event.resourceType.
无论如何我可以告诉 spring-data-elasticsearch 它是针对同一个属性但一个 InnerField 的?
P.S:我当然可以使用 @Query 或者只使用 NativeSearchQueryBuilder 构建整个查询,但如果我可以仅使用方法名称来实现它(更少代码 -> 更少单元测试:))
谢谢
【问题讨论】:
标签: spring-boot elasticsearch spring-data-elasticsearch