当前位置: 首页 > 知识库问答 >
问题:

使用json的Elasticsearch更新映射

司徒钱青
2023-03-14

我想将字段类型从“string”更改为“date”(具体格式为“epoch\u second”)。由于无法更新现有索引的映射,因此我需要创建一个新索引,我最想使用现有索引的映射。以下是我正在使用的内容:

Curl-XGET'http://localhost:9200/sam/saga/_mapping?pretty'

要将当前索引的映射转储到json文件中,其内容如下:

{
  "sam" : {
    "mappings" : {
      "saga" : {
        "properties" : {
          "name" : {
            "type" : "long"
          }
        }
      }
    }
  }
}

然后我替换

         "name" : {
           "type" : "long"
         }

具有

         "name" : {
           "type" : "date"
         }

并将新文件另存为saga2。json。然后运行此

卷曲-XPUT'http://localhost:9200/sam/_mapping/saga2“-d@saga2。json

然而,当我检查新索引的映射时,所有类型现在都已更改为“string”。

使用Elasticsearch的例子,我甚至遇到了这个问题。

有谁知道哪里错了吗?

共有1个答案

邬飞捷
2023-03-14

您需要在saga2.json文件中再做一个更改,即映射类型名称saga-

{
  "sam" : {
    "mappings" : {
      "saga2" : {                  <--- here
        "properties" : {
          "name" : {
            "type" : "date"        <--- and here
          }
        }
      }
    }
  }
}

那么只有你可以运行这个:

curl -XPUT 'http://localhost:9200/sam/_mapping/saga2' -d @saga2.json
 类似资料:
  • 问题内容: 我想对如何处理以下情况有清楚的了解: 我正在从activerecord模型中添加或删除属性,所以我想在生产中的ElasticSearch中更新其映射。 据我了解,我应该… 1-创建一个新索引并从mysql导入所有内容 这是正确的命令吗? 为了创建正确的映射,我应该已经在模型中更新了映射,对吗? 2-删除旧的映射并创建一个别名为 我会那样做,对吗? 3-重启应用 我是否缺少某些东西,或者

  • 我对弹性搜索一无所知。所以,如果这是一个愚蠢的问题,请原谅我,我的问题可能已经在其他地方得到了回答,但我找不到。我想使用弹性搜索作为我的网络中PDF和docx的搜索引擎。我使用fscrawler将PDF文件吸收到弹性搜索中。因为我要摄取的文档是几种语言的,所以我想使用n-graming进行词干分析。为此,我想像这样更新我的映射 现在我收到了这个错误信息 {“error”:{“root_cause”

  • 当我尝试更新我的索引,并添加一个从方法copy_to创建的新字段(见http://pastebin.com/T7GcHSXj)时,我得到了这个我不明白的错误: “error”:“MapperParsingException[解析后根类型映射不为空!其余字段:[映射:{tInfoclient={properties={Client={properties={d\u naiss\u cli={type

  • 问题内容: 我是Elasticsearch的新手,目前正在实现用于搜索的过滤器。到目前为止,我的索引具有以下映射(我已经删除了一些字段): geo_distance字段将在location字段上实现,示例实例如下所示: 即采用geoJSON格式。 我了解我将必须更新索引,以使location字段的类型为,如文档(mapping-geo- point )中所述。似乎我必须删除索引并创建一个新索引,但

  • 我在Elasticsearch中索引了一个文档,如下所示: 我尝试通过以下命令更新计数字段: 但是,我收到了以下错误: 我到底做了什么,却不见了?我在http://www.elasticsearch.org/guide/reference/api/update.html跟踪文件,但它不起作用。 此外,我还包括父字段: 但还是没有成功。有人能帮我解决这个错误吗?

  • 我想为我的索引更新elasticsearch中的默认映射。但是所有的文档都指出我们必须为更新映射提供类型。问题是我有很多索引类型,它们是动态创建的,就像新类型的文档出现时一样。所以最好的处理方法是默认映射类型。因为我不必为每个类型定义映射。但现在我无法更新我的索引默认映射。如果可能的话,请告诉我?