2016-05-02 11 views
0

私は弾性検索が初めてです。私は正常に弾性検索サーバーを設定し、laravelでESパッケージを実装しました。今私は弾性検索にデータを追加することができますが、問題はどうやって行の入れ子項目の値を更新できますか?ここに私のデータ構造のスクリーンショットを追加しましたa link弾性検索のネストされたデータを更新する方法は?

a busy cat

今どのように私は自分の所望のコンテンツにcomment_id 1を更新することができますか?

答えて

0

あなたの場合、少し問題があります。 elasticsearch index arraysの方法に注意する必要があります。

だからあなたの場合には、あなたがこのようなものでしょう:

{ 
    . 
    . 
    "comments":{ 
    "id": [1,2,3], 
    "comment": ["this is comment1", "this is comment2", "this is comment3"] 
    } 
} 

ですから、「ID」と「コメント」との相関関係を失うが。 この相関関係を維持したい場合は、マッピングに "コメント"を "ネスト"として定義する必要があります。 look here

ネストされたドキュメントを更新するには、プローブ番号scripted updateを使用する必要があります。

アレイ内の特定のコメントを更新する必要がある場合は、それを見つけて置き換えるスクリプトを作成するか、アレイ全体を読み込んで編集し、現在の配列を上書きすることができます。

+0

こんにちは、別の "_type"としてコメントを管理する場合はどうすればよいですか?検索の追加が簡単にできます。サブデータを別のタイプに設定すると問題はありますか? –

+0

私はあなたの提案を理解していませんでした。 – Tomer

+0

plzこれをチェックするhttps://box.everhelper.me/attachment/459609/538e3ac4-9c45-41d1-b979-f87f446aa600/586406-RKzqXPH2UMye2zGb/screen.jpeg –

関連する問題