具有属性的任意数量的对象我有一个给定的文档:映射在elasticsearch
{
"foo": {}
}
foo
其中可具有的任意属性的量。让我们假设我将导入数百万个文件到我的索引中,其中foo
的每个属性都有其他值。
这意味着我将动态构建的映射将变得非常庞大。有没有一种方式,我可以告诉elasticsearch像
带你在
foo
,只是接受它,因为它是一切(或字符串化foo
),而无需导致百万行映射???
还是在编制索引文件之前我必须自己照顾?
如果如此,有一个2的解决方案,我认为
JSON.stringify
foo
地图的每个属性在
foo
成键/值对,并创建对象的数组:// object { "foo": [ {"key": "bar1", "value": "bar1's value"}, {"key": "bar2", "value": "bar2's value"} ] } // resulting mapping { "type": { "properties": { "foo": { "properties": { "key": { "type": "string" }, "value": { "type": "string" } } } } } }
你愿意然后解决方案1 o 2,为什么?
感谢您的帮助!
感谢您的回答。我如何忽略它?如果我这样做,我不能在该字段上搜索,但是当我检索这个对象时它仍然是文档的一部分? – hereandnow78
发现它:{“enabled”:“false”,“type”:“object”},无论如何,非常感谢您的帮助! – hereandnow78