我需要支持一个使用elasticsearch作为数据存储的spring应用程序,并且我需要提取一些按术语过滤的数据,比如
POST http://localhost:1234/library/myType/_search
{
"query": {
"bool": {
"filter": {"term": {"myTextField": "filterValue"}}
}
}
}
问题是java模型中的字段注解如下
@Field(type = FieldType.String)
不像
@Field(type = FieldType.Keyword)
我试过谷歌关键字注解,但似乎有一个解决办法,我不能透露。如何注解模型字段,以便在查询中按术语对其进行过滤?
1条答案
按热度按时间6gpjuf901#
这个
keyword
数据类型是在es5中添加的,所以在springdataes2.0.3中找不到它。您需要将字段声明为
not_analyzed
,即改为这样: