如何在Elasticsearch中添加not_analyzed字段

时间:2015-08-13 11:00:29

标签: c# elasticsearch nest

截至目前,我正在使用NEST将数据索引到Elasticsearch中。 当我尝试使用以下代码将其中一个字段索引为not_analyzed时:

 var settings = new ConnectionSettings(
                node,
                defaultIndex: "resourceid5_analyzed1"
            )
            .SetDefaultPropertyNameInferrer(p => p);

            var client = new ElasticClient(settings);
            var response = client.Map<GoodDataAttribute>(m => m.MapFromAttributes()
                .Properties(props => props
                .String(s1 => s1
                .Name(p => p.ResourceGroup)
                .Analyzer("keyword")
                .IncludeInAll(false)
                .Index(FieldIndexOption.NotAnalyzed)
                .OmitNorms(true))));

我使用SetDefaultPropertyNameInferrer来禁用弹性属性的驼峰情况 我使用的是NEST 1.7版 提前致谢

1 个答案:

答案 0 :(得分:0)

如果您尝试更新现有映射,则无法将现有字段从“已分析”更改为“未分析”。

要做到这一点,你需要删除你的索引

https://www.elastic.co/guide/en/elasticsearch/guide/current/mapping-intro.html#updating-a-mapping