MOBZ の ElasticSearch ヘッド (Web UI) から直接インデックス エントリを削除したい。
「Any Request」セクションで次の DELETE クエリを試しました。
{"query":{"term":{"supplier":"ABC"}}}
ただし、見返りとして得られるのは次のとおりです。
{
ok: true
acknowledged: true
}
エントリは削除されません。
私は何を間違っていますか?
MOBZ の ElasticSearch ヘッド (Web UI) から直接インデックス エントリを削除したい。
「Any Request」セクションで次の DELETE クエリを試しました。
{"query":{"term":{"supplier":"ABC"}}}
ただし、見返りとして得られるのは次のとおりです。
{
ok: true
acknowledged: true
}
エントリは削除されません。
私は何を間違っていますか?
投稿データから「クエリ」を削除する必要があります。_search にのみ必要であり、delete には _query エントリポイントを使用する必要があります。その場合、投稿が単なるクエリであることは明らかであるため、クエリであることを明示的に述べるのは不要です (実際には無関係です)。
あれは:
curl -XPOST 'localhost:9200/myindex/mydoc/_search' -d
'{"query":{"term":{"supplier":"ABC"}}}'
検索ではうまくいきます。ただし、クエリで削除するには、次のようにします。
curl -XDELETE 'localhost:9200/myindex/mydoc/_query' -d
'{"query":{"term":{"supplier":"ABC"}}}'
動作しません (_query へのエントリ ポイントの変更と、CURL パラメータを削除に切り替えることに注意してください)。電話する必要があります:
curl -XDELETE 'localhost:9200/myindex/mydoc/_query' -d
'{"term":{"supplier":"ABC"}}'
これが役立つかどうか教えてください。
HEAD で実行する場合:
/stock/one/_query
「GET/PUT/POST/DELETE」のドロップボックスの横にある任意のリクエストテキストボックスに入れます
ドロップダウン メニューで [削除] を選択します
リクエストボディは{"term":{"vendor":"Socks"}}
あなたの問題は、次のリクエストボディを使用したことでした:{"query":{"term":{"vendor":"Socks"}}}
検索には問題ありませんが、削除には問題ありません。
最初に検索リクエストを発行して、削除したいドキュメントが実際にクエリによって返されていることを確認します。
うまくいかないことがたくさんあるので、明確な助けを与えることは不可能ですが、いくつかの考えられる問題は次のとおりです。
おそらく、これが最後の選択肢です。アナライザーを指定していない場合、ES が選択する既定のアナライザーは、小文字フィルターを含む標準アナライザーです。したがって、用語「ABC」は索引付けされず、代わりに「abc」が索引付けされます。
用語クエリはまったく分析されないため、大文字と小文字の区別が重要です。
これらのヒントが役に立たない場合は、マッピングといくつかのサンプル データを投稿してください。