Я хочу создать документацию для моей структуры документов Elasticsearch. Проблема в том, что я храню вложенный JSON в моем индексе, но я хочу документировать flattend JSON format¹, который генерирует Elasticsearch.Как вручную сгладить Elasticsearch вложенные документы JSON с использованием Java?
Есть ли способ сгладить этот JSON аналогично тому, как Elasticsearch производит с использованием ES Java API?
Если возможно, я не хочу запускать Elasticsearch для выполнения этой задачи.
Пример JSON:
{
"title": "Nest eggs",
"body": "Making your money work...",
"tags": [ "cash", "shares" ],
"comments": [
{
"name": "John Smith",
"comment": "Great article",
"age": 28,
"stars": 4,
"date": "2014-09-01"
},
{
"name": "Alice White",
"comment": "More like this please",
"age": 31,
"stars": 5,
"date": "2014-10-22"
}
]
}
Документ будет выглядеть в этот раз Elasticsearch имеет flattend его.
{
"title": [ eggs, nest ],
"body": [ making, money, work, your ],
"tags": [ cash, shares ],
"comments.name": [ alice, john, smith, white ],
"comments.comment": [ article, great, like, more, please, this ],
"comments.age": [ 28, 31 ],
"comments.stars": [ 4, 5 ],
"comments.date": [ 2014-09-01, 2014-10-22 ]
}
[1] https://www.elastic.co/guide/en/elasticsearch/guide/current/nested-objects.html
Would [нечто подобное] (http://fiddle.jshell.net/blowsie/S2hsS/show/light/) или [это] (HTTPS://github.com/hughsk/flat) помощь? Другие решения доступны [здесь] (http://stackoverflow.com/questions/19098797/fastest-way-to-flatten-un-flatten-nested-json-objects). – Val