在elasticsearch中为具有新类型的现有索引创建映射

 訫鈊衅 发布于 2022-12-27 14:14

我在elasticsearch的网站上发现了一篇文章,描述了如何"无需停机时重新编制索引",但每次引入需要自定义映射的新元素时,这都不是真的可以接受(http://www.elasticsearch.org/blog/changing-映射与零停机时间/)

有谁知道为什么我不能为现有索引创建映射,而是在elasticsearch中创建新类型?该类型尚不存在,为什么不呢?也许我错过了什么,这有可能吗?如果是这样,怎么能实现呢?

谢谢,弗拉基米尔

2 个回答
  • 如果您使用的是Elasticsearch 6.0或更高版本,则索引只能具有一种type。因此,您必须为第二种类型创建索引或创建将包含这两种类型的自定义类型。

    有关更多详细信息:删除索引中的多种类型

    2022-12-27 14:15 回答
  • 这是一个在索引中创建两个类型映射的简单示例(一个接一个)

    我用i1作为索引,t1t2作为类型,

      创建索引

      curl -XPUT "http://localhost:9200/i1"

      创建类型1

      curl -XPUT "http://localhost:9200/i1/t1/_mapping" -d
      {
         "t1": {
            "properties": {
               "field1": {
                  "type": "string"
               },
               "field2": {
                  "type": "string"
               }
            }
         }
      }'

      创建类型2

      curl -XPUT "localhost:9200/i1/t2/_mapping" -d'
      {
         "t2": {
            "properties": {
               "field3": {
                  "type": "string"
               },
               "field4": {
                  "type": "string"
               }
            }
         }
      }'

    现在看一下mapping(curl -XGET "http://localhost:9200/i1/_mapping"),看起来它正在发挥作用.

    希望这可以帮助!!谢谢

    2022-12-27 14:15 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有