2017-06-09 7 views
0

コンテンツがdocument-idのみでアクセスされるElasticsearchインデックスを作成する必要があります。ドキュメントの内容に関連する質問は一切ありません。これらのドキュメントには、 JSONのが含まれ、同じフィールドにさまざまなタイプのデータが含まれる場合があります。フィールドがインデックスされていない弾性検索インデックス

私はこの情報を捜し求めてきましたが、本質的に不透明な文書全体。

ご協力いただければ幸いです。

+0

フィールドを見つけられないようにするために、インデックスの 'index:false'オプションを使うことが可能です(https://www.elastic.co/guide/en/elasticsearch/を参照)。 reference/5.4/mapping-index.html)。次に、デフォルトのマッピングを使用して、インデックスのすべてのフィールドに 'index:false'オプションがあるようにすることができます(https://www.elastic.co/guide/en/elasticsearch/reference/5.4/default-mappingを参照)。 .html)。 – baudsp

答えて

0

あなたが望むことはできますが、私にとってはこれは正しい方法ではありません。

は、最初のためには、インデックスのマッピングを作成する必要があります。

PUT index_name_here 
{ 
    "mappings": { 
     "document_type_here": { 
      "properties": { 
       "field_name_for_json_data_here": { 
        "type": "object", 
        "enabled": false 
       } 
      } 
     } 
    } 
} 

この後、あなたはフィールドのカスタム構造を持つ文書を作成することができます。あなたはJSONをドキュメントに直接格納するのではなく、ドキュメントのフィールド内に置いてください(私の例では "field_name_for_json_data_here"フィールド内にあります)

可能であれば、この種のデータを格納するためにElasticsearchを選択する理由を教えてください?もし私が質問を正しく理解すれば、単純なキー\値の記憶が必要になります(あなたはjsonを文字列として保存することができます)、多くのデータベースがこれに適しています。

+0

このユースケースははるかに単純なデータベースに実装することはできますが、Elasticsearchを最大限に活用している他の多くのインデックスがあります。 –

+0

このソリューションは素晴らしいです。どうもありがとう。 –

関連する問題