13

Elasticsearch から特定の日付レコードを削除しようとしています。私のクエリは次のとおりです。

curl -XDELETE 'http://localhost:9200/twitter/twit/_query' -d '
{
    "filter" : {
            "range" : {
                "date_time" : { "from" : "2012-10-01 00:00:01", "to" : "2013-05-01 11:59:59"}
            }
        }
}'

しかし、それはレコードを削除していません。それは正しいものであるか、レコードを削除する他の方法があります。

4

2 に答える 2

7

クエリによる削除は 2.0 から非推奨になりました。スクロール/スキャンを使用して、削除するすべてのドキュメント ID を見つけ、ID ごとに削除を呼び出します

1.5.3 で廃止されました。

「Query による削除は 2.0 で削除されます: これは問題があります。これは、同時インデックス作成中に OutOfMemoryError がすぐに発生する可能性があり、プライマリとレプリカが不整合になる原因となる可能性がある、暗黙のうちに更新を強制するためです。代わりに、スクロール/スキャン API を使用してすべてを検索します。一致する ID を削除し、一括リクエストを発行してそれらを削除します。

https://www.elastic.co/guide/en/elasticsearch/reference/1.7/docs-delete-by-query.html

また、使用できるクエリごとの削除プラグインもあります。

于 2015-11-22T13:33:43.927 に答える