2016-01-29 2 views
0

Есть ли ограничение/уровень вложенности, насколько глубоко вы можете встраивать объекты в Elasticsearch?Предел вложения для elasticsearch type = object

Некоторые структуры в настоящее время имеют глубину 3 уровня, например: x.y.z, поэтому мой вопрос об общем случае.

ответ

0

В отношении гнездования нет ограничений. В принципе, любой действительный документ JSON может храниться в ES.

Единственный предел, с которым вы могли столкнуться, может быть при извлечении глубоко вложенного документа, который необходимо проанализировать с помощью парсера, специфичного для языка, такого как PHP json_decode, который по умолчанию поддерживает только 512 уровней, хотя вы можете отрегулируйте его.

Но если вы достигнете, что много уровней, вероятно, нужно пересмотреть свой дизайн документа ;-)

Другим ограничением, что вам нужно учитывать, что два поля с одинаковым именем в любых разных уровнях, необходимо будет have the exact same mapping (т.е. тот же тип поля). Конкретно, вы не можете иметь x.y.z, являющийся 123 (integer) и a.b.c.d.z, являющийся «кошкой» (то есть a string)

Смежные вопросы