如何在NEST弹性搜索嵌套属性映射中添加字段?

时间:2017-06-05 11:46:43

标签: elasticsearch nest

 "properties": {
          "data": {
            "type": "text",
            "boost": 2,
            "fields": {
              "raw": {
                "type": "text"
              }
}

我需要实际添加字段,在上面的代码中我需要添加data.raw。请帮忙。提前致谢。

1 个答案:

答案 0 :(得分:1)

无法使用属性映射添加multi_fields;为此,您需要使用fluent mapping

void Main()
{
    var client = new ElasticClient();

    client.CreateIndex("index-name", c => c
        .Mappings(m => m
            .Map<Test>(mm => mm
                .AutoMap()
                .Properties(p => p
                    .Text(t => t
                        .Name(n => n.Data)
                        .Boost(2)
                        .Fields(ff => ff
                            .Text(tt => tt
                                .Name("raw")
                            )
                        )   
                    )
                )
            )
        )
    );
}

public class Test
{
    public string Data { get; set; }
}