首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Elasticsearch字段名称别名

问Elasticsearch字段名称别名
EN

Stack Overflow用户
提问于 2015-02-13 18:44:26
回答 4查看 12.3K关注 0票数 7

是否可以在elasticsearch中为字段名设置别名?(就像索引名称的别名一样)

例如:我有一个文档{'firstname':'John','lastname':'smith'}

我想将'firstname‘别名为'fn'...

EN

回答 4

Stack Overflow用户

发布于 2018-10-16 00:33:34

这只是一个快速更新,Elasticsearch 6.4想出了一个叫做的功能。检查下面的映射和查询作为示例。

请注意,在字段名fn的以下映射中,字段的类型为alias

示例映射:

代码语言:javascript
复制
PUT myindex
{
  "mappings": {
    "_doc": {
      "properties": {
        "firstname": {
          "type": "text"
        },
        "fn": {
          "type": "alias",
          "path": "firstname" 
        }
      }
    }
  }
}

示例查询:

代码语言:javascript
复制
GET myindex/_search
{
  "query": {
    "match" : {
      "fn" : "Steve"
    }
  }
}

其思想是使用实际字段的alias,在该字段上创建倒排索引。请注意,具有别名数据类型的字段不适用于write操作,它仅用于查询目的。

虽然你可以参考我提到的链接了解更多细节,但下面只是一些重要的要点。

  • 字段别名仅在索引具有single mapping时使用。索引必须在版本后创建,或在旧版本中使用设置index.mapping.single_type: true
  • Can be used in querying,aggregations,sorting,highlighting和suggestion创建。索引字段必须是其上已倒排索引的实际字段,并创建另一个代码字段的alias < 6.xx >H127querying>不能对多个字段使用<aggregations>D28alias >。单个别名、单个field.
  • Cannot可以作为使用_source.

的源过滤的一部分使用

票数 9
EN

Stack Overflow用户

发布于 2015-02-13 19:20:09

没有直接的字段别名功能。但是,您可以在索引时使用映射中的index_name属性重命名字段。

index_name :将存储在索引中的字段的名称。默认为属性/字段名称。

更多信息请看这里:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-core-types.html

票数 2
EN

Stack Overflow用户

发布于 2020-04-14 18:25:33

为现有字段firstname添加别名fn

代码语言:javascript
复制
PUT myindex/_mapping
{
  "properties": {
    "fn": {
      "type": "alias",
      "path": "firstname" 
    }
  }
}

从Elasticsearch 7开始应该是这样工作的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28497771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档