2017-01-29 3 views
1

私たちはES2.3を使用しています。フィールドにJSONを格納するために推奨されるマッピング/タイプは何でしょうか?また、これらのフィールドの推奨最大長はどのくらいでしょうか?フィールドを分析する必要はなく、クエリーの一部を形成することはありません。フィールドは単に索引付けされ、文書の他のフィールドが検索に一致すると返されます。elasticsearchに大きなJSON文字列を保存する方法は?

フィールドは、名前、電子メールアドレス、および挨拶を含むユーザーデータのサブセットを定義するJSONオブジェクトの配列を含んでいるため、かなり大きい場合があります。実際には、フィールドには一連のユーザーに対するターゲティング練習の結果が含まれます。フィールドは、これらのユーザーに電子メールを送信する電子メールプロセスを駆動するために使用されます。これにより、数千人のユーザーの10〜100人がメールすることができます。

フィールドの長さがわかっていれば、ターゲティング結果を分割するために必要なドキュメントの数を把握することができます。

私たちは実際には規模の面で手早く使い果たされるため、ターゲットユーザーあたりのドキュメントを使用したくありません。

洞察力があれば幸いです。

+0

は、あなたがそれを検索する必要がないので、「フィールドは、単純に索引付けされます」、あなたは意味の右、「インデックス化保存されていませんか」? – Val

+0

はい、フィールドを検索または分析する必要はなく、ドキュメント内の他のフィールドの検索結果としてコンテンツを返すだけです。 – InTooDeep

+0

個人的には、このフィールドを '" index ""という文字列フィールドとしてマップするだけです: "no" ' – Val

答えて

1

あなたは(source)のようなマッピングを使用して索引それを可能性があります

"json_field": { 
    "type": "string", 
    "index": "no" 

文書全体が保存されますが、このフィールドには、インデックス付けされることはありません - それは、検索とウォンのために使用することはできませんあなたのインデックスを台無しにしないでください。また、詳細ページや製品画像へのハイパーリンクなどの静的情報にもこの機能を適用しました。

このthreadによれば、最大フィールド長にも直面する必要はありません。それでも大きな文書を保管するときは、最大のJavaヒープ・サイズ(source)に気づく必要があります。

これがあなたの質問を解決することを願っています!これは私の最初の答えはstackoverflow上で、あなたのフィードバックは非常に高く評価されます!

乾杯、ドミニク

+0

ありがとう! – InTooDeep

2

フィールドを格納し、索引付けしないで、タイプ文字列を設定することをお勧めします。

+1

ありがとう! – InTooDeep

関連する問題