【问题标题】:field type mismatches in elasticsearchelasticsearch中的字段类型不匹配
【发布时间】:2021-11-26 14:09:05
【问题描述】:

我正在从 mongodb 导出的 json 文件中将数据转储到 ElasticSearch 中。我遇到了一个问题,我的 json 数据将数组字段转换为字符串。

      "_source" : {
          "CITIES" : [
            "ABC"
          ],
          "CITY_AREAS" : """["COLONY (AIT)"]""",
          "INTERESTS" : [
            "CARS"
          ]}

我没有做任何映射,我知道弹性是根据插入到 ES 中的第一个文档使用其默认映射。

我想找到一个解决方案,我运行更新命令来更新包含“CITY_AREAS”的所有文档的数组类型的字段 例如:

"CITY_AREAS" : ["COLONY (AIT)"]

P.S : 有些文件有“CITY _AREAS”键,有些没有。

【问题讨论】:

  • 尝试使用 reindex api 摄取管道或使用查询 api 更新的脚本。如果您要使用脚本,那么您可以编写无痛脚本将字符串转换为数组。
  • 我不想使用计划脚本执行此操作,我希望使用查询中的更新脚本执行此操作,这就是为什么在这里寻找解决方案

标签: elasticsearch lucene elastic-stack


【解决方案1】:

您需要为此重新编制索引,以便它使用正确的映射类型。更新将不起作用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 2017-06-02
    相关资源
    最近更新 更多