【发布时间】:2016-09-29 04:07:45
【问题描述】:
我想展平嵌套的 json 对象,例如{"a":{"b":1}} 到 {"a.b":1} 以便在 solr 中消化它。
我有 11 TB 的 json 文件,它们都是嵌套的,并且在字段名称中包含点,这意味着既不是 elasticsearch(点)也不是 solr(嵌套没有_childDocument_ 符号)可以按原样消化它。
其他解决方案是将字段名称中的点替换为下划线并将其推送到 elasticsearch,但我对 solr 的经验要好得多,因此我更喜欢 flatten 解决方案(除非 solr 可以按原样消化那些嵌套的 json ??) .
只有在消化过程比 solr 花费的时间少得多的情况下,我才会更喜欢 elasticsearch,因为我的首要任务是尽可能快地消化(因此我选择了 jq 而不是在 python 中编写脚本)。
请帮助。
编辑:
我认为示例 3 和 4 为我解决了这个问题: https://lucidworks.com/blog/2014/08/12/indexing-custom-json-data/
我会尽快尝试。
【问题讨论】:
标签: json elasticsearch solr jq flatten