elasticsearch 如何使关键字映射在嵌套中工作?
我使用的是NEST v6.3.1和ElasticSearch v6.4.2 我无法将我的字段作为关键字索引 我尝试了两种属性: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
[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"
}
}
}