spring data elasticsearch 如何创建带有子关键字字段的文本字段

spring data elasticsearch how to create text field with child keyword field

spring数据elasticsearch版本:2.4.1

当我使用@Field(type = FieldType.Text)时,spring数据将创建一个文本字段,但我还想创建一个子关键字字段。像这样:

{
    "text_field":{
        "type":"text",
        "fields":{
            "keyword":{
                "type":"keyword"
            }
        }
    }
}

从来没有 Spring Data Elasticsearch 的 2.4.1 版本,我想你的意思是 Spring Boot 2.4.1?如果是这样,那将使用 Spring Data Elasticsearch 4.1.2

你需要定义的是

@MultiField(mainField = @Field(type = FieldType.Text),
   otherFields = { @InnerField(suffix = "keyword", type = FieldType.Keyword) })
private String text_field;