【发布时间】:2017-05-25 22:23:44
【问题描述】:
我想在创建索引后为其添加映射。我已经创建了这样的索引:
client.CreateIndex("typeaheads", c => c
.Settings(t => t.Analysis(m => m.TokenFilters(fl => fl.EdgeNGram("edge_ngram_filter", ad => ad.MinGram(2).MaxGram(20)))
.Analyzers(anz => anz.Custom("edge_ngram_analyzer", an => an.Filters("lowercase", "edge_ngram_filter").Tokenizer("standard"))))));
变量 typeName,是我想要的映射名称。
当我执行这个时:
var map = new CreateIndexDescriptor("typeaheads")
.Mappings(ms => ms
.Map(typeName, d => d.Properties(ps => ps.String(s => s.Name("countryCode")))
.Properties(ps => ps.String(s => s.Name("display_ID")))
.Properties(ps => ps.String(s => s.Name("display_String")))
.Properties(ps => ps.String(s => s.Name("id")))
.Properties(ps => ps.String(s => s.Name("languageCode")))
.Properties(ps => ps.String(s => s.Name("match_String").SearchAnalyzer("standard").Index(FieldIndexOption.Analyzed).Analyzer("edge_ngram_analyzer")))
.Properties(ps => ps.String(s => s.Name("type")))
.Properties(ps => ps.Number(s => s.Name("boostFactor").Type(NumberType.Long)))));
var response = client.Index(map);
我在我的 ES 服务上得到这个输出: Wrong Mapping
我想得到这个:Correct Mapping
有什么想法吗?
【问题讨论】:
-
能否提供 JSON 格式的映射?
-
如何通过 C# 完成?
-
你可以在客户端发布json。
-
你能给我举个例子吗?
标签: c# .net elasticsearch nest