【问题标题】:Mapping Parser Exception in Elasticsarch在 Elasticsearch 中映射解析器异常
【发布时间】:2020-12-03 03:29:43
【问题描述】:

我在 Cassandra 中创建了 UDT

CREATE type starter.random_data_demo(  
   destination_wise_count map<text,text>
);

然后在我的表中使用了这个 udt

CREATE TABLE demo(
   field_data FROZEN<random_data_demo> PRIMARY KEY 
   );

当我点击查询弹性搜索映射时收到错误

查询:-

curl -XPUT -H 'Content-Type:application/json' "http://localhost:9200/demo" -d '{
    "settings": { "keyspace":"starter" },
    "mappings": {
        "demo" : {
            "discover" : ".*"
        }
    }
}'

错误:-

"type":"mapper_parsing_exception","reason":"Failed to execute query:null : Field \"destination_wise_count\" with type map<text, text> does not match type frozen<\"testing.demo_field_data_destination_wise_count\">"}]

【问题讨论】:

    标签: elasticsearch cassandra elasticsearch-mapping elasticsearch-indices elassandra


    【解决方案1】:

    您能否提供最终的 JSON 文档(也检查是否使用相同的 JSON 来创建映射),您用于创建索引映射,当我们不提供 Elasticsearch 的映射时,映射器解析异常会出现( ES) 可以解析。

    您还应该提供整个stacktrace 以进一步了解该问题,您似乎正在使用静态映射并尝试插入包含在 ES 映射中不存在的字段或字段格式不存在的文档不正确,即尝试在数字字段等中插入文本。

    【讨论】:

    • 当我在用户定义类型中使用文本而不是 map 时,相同的查询可以正常工作
    • { "error": { "root_cause": [ { "type": "mapper_parsing_exception", "reason": "Failed to execute query:null : Field \"destination_wise_count\" with type map 不匹配类型 freeze" } ] }, "status": 400 }
    【解决方案2】:

    找到:

    CQL 映射目前仅支持作为文档的顶级字段,我们不能在嵌套字段中使用它。

    【讨论】:

      猜你喜欢
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-06
      • 1970-01-01
      • 2023-03-28
      • 2023-04-03
      • 2020-03-15
      相关资源
      最近更新 更多