デフォルトでは、Elasticsearch JSON文字列_sourceフィールドには、体を代表して文書を保存します。そして、すべてのフィールドが同じに格納されている、それがディスクに書き込まれる前に、_source最初のフィールドが圧縮されます。
:それは、次のこれらのことを意味するので、このフィールドのストレージは、ほとんど常に我々が望むものである
-文書をピックアップして、別の倉庫から追加データ検索結果が利用可能な全ドキュメントが含まれています。
あなたがフィールドを_SOURCEない場合は、更新要求の一部は有効になりません。
あなたはマッピングを変更するときは、_sourceフィールドとするのではなく、すべてのドキュメントを取得するために別の(通常は遅い)、データウェアハウスからよりも、Elasticsearchからそう直接行うことができ、あなたのデータのインデックスを再する必要があります。
あなたは文書全体を見る必要がない場合は、単一のフィールドを抽出し、_sourceフィールドから取得するか、検索要求を経由して返すことができます。
あなたは直接各文書が含むものを見るが、IDからその内容を推測することはできませんので、簡単にクエリをデバッグします。
しかし、ストレージフィールド_sourceは本当にディスクスペースを使用します。あなたが重要であるため上記の理由ではない場合は、次のマッピング無効_sourceフィールドを使用することができます。
PUT / my_index
{
"マッピング":{
"my_type":{
"_source":{
"有効":偽
}
}
}
}
検索要求では、あなただけの取得特定のフィールドの効果を達成するために、リクエストボディの_sourceでパラメータを指定することができます。
GET / _search
{
"クエリ":{ "match_all":{}}、
"_source":"タイトル"、 "作成"]
}