【发布时间】:2017-03-14 21:48:57
【问题描述】:
在这里,我试图在我的新索引中创建一个搜索分析器,但在 t.Text 中出现异常“Nest.dll 中发生了“System.ArgumentException”类型的未处理异常 附加信息:无法获取 TextPropertyDescriptor`1 映射的字段名称"
var response = client1.CreateIndex("index", n => n
.Settings(s => s
.NumberOfShards(10)
.NumberOfReplicas(10)
.Analysis(a => a
.TokenFilters(af=>af.EdgeNGram("autocompletefilter",e=>e.MinGram(1)
.MaxGram(20)))
.Analyzers(an => an.Custom("autocomplete", ana => ana.Tokenizer("standard")
.Filters("lowercase", "asciifolding", "standard")))))
.Mappings(m=>m.Map("mytype",my=>my.Properties(t=>t.Text(te=>te.Analyzer("autocomplete")
.SearchAnalyzer("standard"))))));
【问题讨论】:
-
您定义的属性没有任何名称。试试
te => te.Name("name").Analyzer(..)。 -
另外,10 个副本意味着 10 个主分片的 10 个 sets 副本分片,即 100 个分片。这可能是副本太多(除非您正在运行一个非常大的集群),因此请考虑减少这个
-
感谢您的帮助。现在我正在尝试在索引中搜索,但我无法使用分析器,我得到异常“请求 [/index/mytype/_search] 包含无法识别的参数:[分析器]"
-
@grlouk 考虑提出一个关于分析器的新问题,其中包含复制问题所需的所有详细信息
标签: c# elasticsearch nest