【问题标题】:Nest and Elastic Search - Mapping嵌套和弹性搜索 - 映射
【发布时间】:2014-03-10 18:27:51
【问题描述】:

我正在尝试将多个分析器映射到我的弹性类型中的一个字段。如果我使用 ElasticAttribute 来映射分析器:

[ElasticProperty(Analyzer = "fulltext")]
public string LongDescription { get; set; }

然后我查看创建的请求:

"name": {
      "type": "string",
      "analyzer": "fulltext"
    },

为了将多个分析器映射到同一个字段,我使用 Fluent 映射并添加了一个多字段:

.Properties(prop => prop
                    .MultiField(mf => mf
                        .Name(p => p.Name)
                        .Fields(f => f
                            .String(
                                s =>
                                    s.Name(n => n.Name)
                                        .IndexAnalyzer("autocomplete_analyzer")
                                        .IncludeInAll(false)
                                        .Index(FieldIndexOption.not_analyzed))
                            .String(
                                s =>
                                    s.Name(n => n.Name)
                                        .IndexAnalyzer("fulltext")
                                        .IncludeInAll(false)
                                        .Index(FieldIndexOption.not_analyzed))
                        )
                    )
                )

生成的请求如下所示:

 "name": {
      "type": "multi_field",
      "fields": {
        "name": {
          "type": "string",
          "index": "not_analyzed",
          "index_analyzer": "autocomplete_analyzer",
          "include_in_all": false
        },
        "name": {
          "type": "string",
          "index": "not_analyzed",
          "index_analyzer": "fulltext",
          "include_in_all": false
        }
      }
    },

我对“analyzer”/“index_analyzer”属性特别感兴趣。使用流畅的映射,我只能设置 IndexAnalyzer 或 SearchAnalyzer。我了解 IndexAnalyzer 和 SearchAnalyzer 之间的区别,但是当我使用 ElasticAttribute 时,“分析器”属性是什么?这是否意味着索引和搜索设置相同?

【问题讨论】:

    标签: c# elasticsearch nest


    【解决方案1】:

    仅指定analyzer 确实是同时设置index_analyzersearch_analyzeranalyzer 是一个弹性搜索属性,而不是 NEST 的一些神奇行为。

    fluent 映射缺少.Analyzer() 方法,现在在 1.0 中添加!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-30
      • 2023-03-02
      • 1970-01-01
      • 2011-08-30
      • 2017-06-11
      • 1970-01-01
      • 1970-01-01
      • 2012-07-15
      相关资源
      最近更新 更多