一尘不染

Spring Elastic Search自定义字段名称

elasticsearch

我是Elastic Search的新手,正在尝试使用Spring-data-elasticsearch实施它。

在我们的elasticsearch文档中,我具有诸如“运输”,“ Telephone_Number”之类的名称的字段。

当我尝试用它们映射我的@Domain对象字段时,由于无法成功映射那些字段,所以我没有得到任何数据。

试图使用@Field感到失望,因为它没有’name’属性,无法使用自定义字段名称进行映射。

尝试使用GETTER函数的不同变体,似乎没有一个映射到那些字段。

我开始想知道这里是否缺少什么。域对象字段应如何映射到名为“ Transportation”之类的文件?

任何帮助表示赞赏


阅读 362

收藏
2020-06-22

共1个答案

一尘不染

您可以使用自定义名称。Spring Data
ES使用Jackson。因此,您可以用来@JsonProperty("your_custom_name")在ES映射中启用自定义名称

例如:

@Document(indexName = "your_index_name", type = "your_type_name")
public class YourEntity {
   ....
   @JsonProperty("my_transportation")
   @Field(type = FieldType.String, searchAnalyzer = "standard", indexAnalyzer = "standard", store = true) // just for example
   private String myTransportation;
   ....
}

注意:无论如何,我很抱歉,我的英语不好。

2020-06-22