2016-06-13 4 views
3

インデックス設定を使用して、単一のインデックスに対してネストされたフィールドの数を無制限にすることはできますか?私は時間がたつにつれて増加するネストされたフィールドの数を数える時間がないので、ネストされたフィールドの限界値を与えることは無関係だと思います。ES 2.3.3のネストされたフィールドの制限

+0

あなたのユースケースはもう少し詳しく説明し、達成しようとしていることの例を1つまたは2つ挙げてください。 – Val

+0

50以上のネストされたfield.Iを含む約20のレコードタイプのインデックスをマッピングしなければなりません。PUT localhost:9200/1000/_settings { "index.mapping.nested_fields.limit":1001 } 1001を与えることは無制限にすることができますか? – Novice

+0

もちろん、あなたはインデックスのスケーラビリティを制限することができます。 [理由があります(https://github.com/elastic/elasticsearch/issues/14983)なぜこの制限が作成されました。 – Val

答えて

6

MapperService.javaのソースコードによると、INDEX_MAPPING_NESTED_FIELDS_LIMIT_SETTING定数は、あなたは、それは良い考えではありませんので、にもかかわらず

Long.MAX_VALUE(= 2^63-1)を意味し、「無制限」理論的にはタイプlongであります

PUT localhost:9200/1000/_settings 
{ "index.mapping.nested_fields.limit": 9223372036854775807 } 
+0

ありがとうございます。入れ子フィールドの制限を無制限にするテクニックを知りたいと思っています。 – Novice

+1

あなたは安全だと思いますが、最大値に達することはありません:) – Val

+0

hadoopジョブを使ってESを書き込んでいるとき、ログが次のようにフリーズします。原因:java.lang.NoClassDefFoundError:org.elasticsearchクラスを初期化できませんでした.common.lucene.Lucene、理由は何でしょうか? – Novice

関連する問題