4

Elasticsearch の既存のドキュメントにフィールドを追加することは可能ですか?

たとえば、次の文書に索引を付けました。

{
    "user":"xyz",
    "message":"for increase in fields"
}

ここで、さらに 1 つのフィールド、つまり日付を追加します。

{
    "user":"xyz",
    "message":"for increase in fields",
    "date":"2013-06-12"
}

これはどのように行うことができますか?

4

2 に答える 2

9

Elastic Search Check更新の場合

更新 API は、既存のドキュメントにマージされる部分的なドキュメント (0.20 以降) の受け渡しもサポートしています (単純な再帰的マージ、オブジェクトの内部マージ、コアの「キー/値」と配列の置き換え)。

Solr 4.0 は、部分的な更新もサポートしています。チェックリンク

于 2013-06-13T12:31:16.343 に答える
3

これは、部分的な更新で実行できます(ドキュメントの ID が 1 であると仮定します)。

curl -XPOST 'http://localhost:9200/myindex/mytype/1/_update' -d '
{
    "doc" : {
    "date":"2013-06-12"
    }
}'

次に、ドキュメントをクエリします。

curl -XGET 'http://localhost:9200/myindex/mytype/_search?q=user:xyz'

次のように表示されます。

"_id":"1",
"_source:
    {
        {
            "user":"xyz",
            "message":"for increase in fields",
            "date":"2013-06-12"
        }
    }
于 2014-06-06T14:31:33.550 に答える