【问题标题】:ElasticSearch exception when creating index with mapping(Nest 5.2.0)使用映射创建索引时的 ElasticSearch 异常(Nest 5.2.0)
【发布时间】: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


【解决方案1】:

需要

      te => te.Name("name").Analyzer(..)

【讨论】:

    猜你喜欢
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    相关资源
    最近更新 更多