Я на 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())
)
);
Оба результата дают одно и то же:
{
"listings": {
"mappings": {
"listing": {
"properties": {
"suburb": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}
например, не соответствует тому, что я вижу здесь: https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/attribute-mapping.html
То же самое происходит, когда я пытаюсь использовать [GeoPoint]
.Должен быть тип геопункта, но он сопоставлен с числами с плавающей точкой:
"latLong": {
"properties": {
"lat": {
"type": "float"
},
"lon": {
"type": "float"
}
}
}
Так что я что-то упускаю, просто не знаю, что.
Любая помощь?
Спасибо