我想拉平一个嵌套的JSON对象,例如{"a":{"b":1}}到{"a.b":1}为了消化它Solr中.
我有11 TB的json文件,它们都是嵌套的,并且在字段名称中包含点,这意味着不是elasticsearch(点),也不是solr(没有_childDocument_符号的嵌套)可以按原样消化它.
其他解决方案是用下划线替换字段名称中的点并将其推送到elasticsearch,但我有更好的solr经验,因此我更喜欢flatten解决方案(除非solr可以消化那些嵌套的jsons).
只有当消化过程花费的时间远远少于solr时,我才会喜欢elasticsearch,因为我的优先级是尽可能快地消化(因此我选择了jq而不是在python中编写脚本).
请帮助.
编辑:
我认为这对示例3和4为我解决了这个问题:https: //lucidworks.com/blog/2014/08/12/indexing-custom-json-data/
我马上试试吧.