ElasticSearch:ignore_malformed 不起作用

Col*_*amp 5 node.js elasticsearch

我试图ignore_malformed在 ElasticSearch Mapping 中输入一个字段的属性。

EClient.indices.putMapping(
  {
    index: 'activities',
    type: 'user',
    body: {
      properties: {
        meta: {
          type: 'object',
          ignore_malformed: true, // meta is dynamic
        },
      },
    },
  },
  (err, res) => {
    console.info('Put Mapping Error:', err);
    console.info('Put Mapping Res:', res);
  }
);
Run Code Online (Sandbox Code Playgroud)

但我得到

response: '{"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"Mapping definition for [meta] has unsupported parameters:  [ignore_malformed : true]"}],"type":"mapper_parsing_exception","reason":"Mapping definition for [meta] has unsupported parameters:  [ignore_malformed : true]"},"status":400}'
Run Code Online (Sandbox Code Playgroud)

根据文档:ignore_malformed它应该可以工作。有人可以告诉我我的代码有什么问题吗?

Jai*_*rma 5

为讨论编写的文件是不准确的位置。我尝试尝试使用 ignore_malformed 参数,发现它不适用于字符串和对象类型,尽管它可以按预期使用整数。您可能可以为 elasticsearch 提出票证或使用此链接中讨论的解决方法。


alr*_*alr 5

tryenabled: false而不是ignore_malformedfor 对象。这确保该字段可以具有任意的内部结构(但是它是不可搜索的)