Spring弹性搜索自定义字段名称

时间:2015-11-05 05:20:49

标签: elasticsearch spring-data spring-data-elasticsearch

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

我的字段名称为" Transportation"," Telephone_Number"在我们的弹性搜索文档中。

当我尝试将@Domain对象字段映射到那些字段时,我无法获取任何数据,因为我无法成功映射这些字段。

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

尝试了GETTER功能的不同变体,其中没有一个似乎映射到那些字段。

我开始想知道我在这里找不到的东西。 域对象字段如何映射到一个名为" Transportation" ?

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:9)

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

例如:

@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;
   ....
}

注意:无论如何,我很抱歉,我的英语很糟糕......:D