0

delete by query APIを使用して、elasticsearch からレコードを削除しようとしています。

実行中:

curl -XDELETE localhost:4040/search/foo/_query -d '{
  "term": {
    "record id": "0f9eaa6f-90bb-4dee-9ecb-78a5d04719c0"
  }
}'

結果:

{
  "ok": true,
  "_indices": {
    "foo": {
      "_shards": {
        "total": 5,
        "successful": 5,
        "failed": 0
      }
    }
  }
}

まだ、クエリ:

curl -XGET localhost:4040/search/foo/_search -d '{
  "query": {
    "match": {
      "record id": "0f9eaa6f-90bb-4dee-9ecb-78a5d04719c0"
    }
  }
}'

私に与えます:

{
  "took": 2,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  }
}

5つのレコードが印刷された...

私は実行してみました:

curl -XGET localhost:4040/search/foo/_refresh

それでも結果は返されますか?

4

1 に答える 1

3

クエリを使用して削除し、termクエリを使用して検索していmatchます。これらは 2 つの異なるクエリです。クエリは、提供されたtermクエリ用語を分析しませんが、分析しますmatchrecord idしたがって、これら 2 つのクエリは、フィールドの分析方法によって異なる結果を生成する場合があります。

于 2013-05-03T13:44:54.217 に答える