我在 pojo 中定义了 3 个字段,但是只想把其中的 2 个索引到 es 里面,需要忽略某个字段。我尝试使用 @Field(ignoreFields = {}) 注解,但是不起作用,有点纳闷这个注解的作用,请问有什么办法可以忽略某个字段吗?
1
ShadowFox 2018-10-25 08:55:31 +08:00
@JsonIgnore
Spring-Data-ElasticSearch 在与 es 进行数据交互前都会先将数据序列化成 json,所以让 jackson 忽略这个字段即可 |
3
ShadowFox 2018-10-25 09:19:08 +08:00
@zhuwd #2 这我就不太清楚了,ignoreFields 只是忽略注解下的字段中的字段,而不是忽略这个字段本身;
有个思路你可以试试:把 elasticsearch:transport-client 中的 DefaultEntityMapper 改成一个自定义的 EntityMapper,然后用这个 EntityMapper 去掉那些不需要的字段 |
5
knightlhs 2018-10-25 14:30:21 +08:00
在 es 里面建立 Mapping 为指定字段设置为不建立索引即可
|