从 elasticsearch 索引获取嵌套映射的类型

斯托亚诺娃

我有一个弹性搜索索引,其映射如下:

{
  "indexName": {
    "mappings": {
      "vault": {
        "properties": {
          "someMapping": {
            "dynamic": "true",
            "properties": {
              "A": {
                "type": "text",
                "fields": {
                  "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                  }
                }
              },
              "B": {
                "type": "float"
              },
              "C": {
                "type": "float"
              }
            }
          }
        }
      }
    }
  }
}

我需要获取嵌套映射的类型,例如:

   [
     {Name = "A", Type = "text"},
     {Name = "B", Type = "float"},
     {Name = "C", Type = "float"}
    ]

我需要通过 .NET Core 应用程序中的 NEST API 来实现这一点。到目前为止,我尝试过elasticClient.GetMapping(new GetMappingRequest())并没有取得多大成功,因为我无法访问我需要的字段的嵌套属性(在本例中为“someMapping”)

斯托亚诺娃

我能够通过以下步骤实现我想要的:

  • 通过以下方式获取弹性搜索实例中所有索引的映射: allIndicesMappings = elasticClient.GetMapping(new GetMappingRequest()).Mappings
  • 按名称过滤所需的索引(可选)
  • 对于过滤列表中的每个项目,您可以像这样获得所需的字段:item.Value.FirstOrDefault().Value.Properties.FirstOrDefault(x => x.Key.Name == "someMapping").Value返回 someMapping 字段,但我们仍然无法访问它的嵌套属性。访问我们可以通过铸造得到它ObjectProperty,像这样:((ObjectProperty)item.Value.FirstOrDefault().Value.Properties.FirstOrDefault(x => x.Key.Name == "metadata").Value).PropertiesProperties现在我们有嵌套字段及其映射

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

索引文档时,Elasticsearch中的嵌套类型:“无法将对象映射从嵌套更改为非嵌套”

将特定类型映射到ElasticSearch索引

如何使用嵌套映射对多个索引执行ElasticSearch查询

现有类型映射中的Elasticsearch重新索引项目

Elasticsearch:如何删除映射类型而不删除整个索引?

使用新映射更新Elasticsearch 5.6索引类型

如何更改非常大的 ElasticSearch 索引上的映射类型?

在Nest(Elasticsearch)中,如何获取索引的原始json映射?

如何在Elasticsearch Nest中获取索引的映射?

Elasticsearch获取嵌套字段

elasticsearch:使用映射创建索引

Python Elasticsearch创建索引映射

ElasticSearch 索引和映射数组

Elasticsearch 映射参数:索引与启用

Elasticsearch亲子映射和索引

Elasticsearch 仅复制索引映射

使用映射创建Elasticsearch索引

从ElasticSearch中的集群获取所有索引和类型的名称

elasticsearch 7 未能将映射放在索引 logstash 类型事件上并拒绝映射更新

elasticsearch日期类型映射冲突

如何在ElasticSearch / NEST中将单个.NET类型映射到多个嵌套对象类型?

ElasticSearch-无法获取映射

Elasticsearch嵌套类型选择查询

如何构造Elasticsearch索引/类型?

我可以在没有映射的情况下在ElasticSearch上索引嵌套文档吗?

Elasticsearch NEST 2如何正确映射和使用嵌套类和批量索引

Elasticsearch-获取嵌套字段

ElasticSearch获取嵌套属性的值

Elasticsearch 获取索引创建脚本