簡體   English   中英

ElasticSearch 按查詢刪除不起作用

[英]ElasticSearch Delete by Query is not working

我試圖從我的索引中刪除 id 大於 1500001 的文檔。我已經從彈性文檔中復制了代碼,但它沒有給我任何結果。 代碼是

POST /us_data_master/_delete_by_query

{
  "query": {
    "range" : {
        "id" : {
           "gte" : 1500001
        }
    }
  }
}

我得到的回應是

{
   "error" : {
        "root_cause" : [
          {
            "type" : "action_request_validation_exception",
            "reason" : "Validation Failed: 1: query is missing;"
          }
        ],
        "type" : "action_request_validation_exception",
        "reason" : "Validation Failed: 1: query is missing;"
      },
      "status" : 400
    }

我不明白有什么問題。 期待幫助

謝謝

編輯1:

請求的映射是

 {


"mapping": {
    "_doc": {
      "properties": {
        "@timestamp": {
          "type": "date"
        },
        "@version": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "address": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "city_code": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "contact_no": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "date_added": {
          "type": "date"
        },
        "date_updated": {
          "type": "date"
        },
        "featured": {
          "type": "long"
        },
        "id": {
          "type": "long"
        },
        "location_id": {
          "type": "long"
        },
        "main_cate": {
          "type": "long"
        },
        "name": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "slug": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "source": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "state_code": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "status": {
          "type": "long"
        },
        "zip_code": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        }
      }
    }
  }
}

我猜你正在使用 Kibana。 POST 之后還有一個額外的空行,您的查詢如下:

POST /us_data_master/_delete_by_query
                                              <------ Remove this space
{
  "query": {
    "range" : {
        "id" : {
           "gte" : 1500001
        }
    }
  }
}

下面是它應該如何:

POST /us_data_master/_delete_by_query
{
  "query": {
    "range" : {
        "id" : {
           "gte" : 1500001
        }
    }
  }
}

那應該可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM