elasticsearch 如何使关键字映射在嵌套中工作?,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch 如何使关键字映射在嵌套中工作?,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch 如何使关键字映射在嵌套中工作?

elasticsearch 如何使关键字映射在嵌套中工作?,elasticsearch,nest,elasticsearch,Nest,我使用的是NEST v6.3.1和ElasticSearch v6.4.2 我无法将我的字段作为关键字索引 我尝试了两种属性: [Keyword] public string Suburb { get; set; } 而且流利: client.CreateIndex(indexName, i => i .Mappings(ms => ms .Map<Listing>(m => m

我使用的是NEST v6.3.1和ElasticSearch v6.4.2

我无法将我的字段作为关键字索引

我尝试了两种属性:

[Keyword]
public string Suburb { get; set; }
而且流利:

client.CreateIndex(indexName, i => i
                .Mappings(ms => ms
                    .Map<Listing>(m => m
                        .Properties(ps => ps
                            .Keyword(k => k
                                .Name(n => n.Suburb)))
                        .AutoMap())
                    .Map<Agent>(m => m
                        .AutoMap())
                    .Map<BuildingDetails>(m => m
                        .AutoMap())
                    .Map<LandDetails>(m => m
                        .AutoMap())
                )
            );
e、 g与我在这里看到的不匹配:

当我尝试使用
[GeoPoint]
时也会发生同样的情况。应为geopoint类型,但已映射到浮点:

"latLong": {
            "properties": {
              "lat": {
                "type": "float"
              },
              "lon": {
                "type": "float"
              }
            }
          }
所以我遗漏了一些东西,只是不确定是什么

有什么帮助吗


感谢

索引可能已经存在,并且无法更新字段映射。在create index调用的响应上检查
.IsValid
,如果无效,请查看错误和原因。您可能需要删除索引并重新创建

还请注意,Elasticsearch 6.x中不允许在一个索引中使用多个类型映射,并且会失败。或者为不同类型创建单独的索引,或者,如果类型具有相同的字段结构,并且希望以相同的方式索引/分析它们,则可以考虑引入另一个鉴别器字段。

是的,我想出来了(然后来这里关闭Q:))这是因为我有多个映射,如您所说的。它们只是根
列表的嵌套成员,因此不需要单独的AutoMap调用。谢谢:)
"latLong": {
            "properties": {
              "lat": {
                "type": "float"
              },
              "lon": {
                "type": "float"
              }
            }
          }