elasticsearch,nest,C#,elasticsearch,Nest" /> elasticsearch,nest,C#,elasticsearch,Nest" />

C# 将自定义分析器添加到Nest Elastic search 6.2中的所有字段

C# 将自定义分析器添加到Nest Elastic search 6.2中的所有字段,c#,elasticsearch,nest,C#,elasticsearch,Nest,我有一个弹性搜索索引,它有100多个属性。我想为大多数字段添加自定义分析器。我希望避免使用典型的嵌套语法来指定每个字段的分析器。 让我知道是否有任何其他替代方案可将分析仪设置为通用设置。 请让我知道你对这件事的看法。提前感谢。在创建索引时,通过向索引设置中添加一个名为“default”的分析器,您可以对索引中的所有文本字段进行分析 var defaultIndex=“我的索引”; 变量池=新的SingleNodeConnectionPool(新Uri(“http://localhost:920

我有一个弹性搜索索引,它有100多个属性。我想为大多数字段添加自定义分析器。我希望避免使用典型的嵌套语法来指定每个字段的分析器。

让我知道是否有任何其他替代方案可将分析仪设置为通用设置。 请让我知道你对这件事的看法。提前感谢。

在创建索引时,通过向索引设置中添加一个名为
“default”
的分析器,您可以对索引中的所有
文本
字段进行分析

var defaultIndex=“我的索引”;
变量池=新的SingleNodeConnectionPool(新Uri(“http://localhost:9200"));
var设置=新连接设置(池)
.DefaultIndex(默认索引);
var客户端=新的ElasticClient(设置);
var createIndexResponse=client.CreateIndex(defaultIndex,c=>c
.Settings(s=>s
.分析(a=>a
.分析仪(an=>an
.Standard(“默认值”,st=>st
.StopWords(“英语”)
)
)
)
)
);
将发送具有以下主体的创建索引请求

{
  "settings": {
    "analysis": {
      "analyzer": {
        "default": {
          "type": "standard",
          "stopwords": [
            "_english_"
          ]
        }
      }
    }
  }
}
如果希望将此应用于创建的所有索引,可以使用将此约定应用于所有自动创建的索引

var putindextemplaterresponse=client.PutIndexTemplate(“默认分析器”,t=>t
.IndexPatterns(“*”)
.订单(0)
.Settings(s=>s
.分析(a=>a
.分析仪(an=>an
.Standard(“默认值”,st=>st
.StopWords(“英语”)
)
)
)
)
);

使用动态模板为字段指定所需的分析器。