ES中DSL的相關操作


一、ES中批量修改

POST order_sale_detail/_update_by_query { "script":{ "source":"ctx._source['create_time']='2020-04-22'" }, "query":{ "term":{ "create_time":"2020-03-16" } } }
  order_sale_detail  => indexName
  _update_by_query => 根據查詢結果進行修改
  當前代碼就是查詢到create_time = '2020-03-16'的數據中將字段create_time修改為2020-04-22。如果查詢條件沒有就是修改所有的意思

二、ES中復雜的or和and以及多條件查詢
GET order_sale_detail/_search { "query": { "bool": { "must": [ { "term": { "create_time": { "value": "2020-04-22" } } }, { "match": { "category_name": { "query":"家用電器", "operator":"or" } } } ] } } }
 
        

   當前為查詢'create_time'為'2020-04-22'並且'category_name'為"家用電器"(or連接表示可分詞為家用、用電、電器等...具體根據分詞類型)的商品

  如果想要兩個字段之間的且和或關系用關鍵字'must'和'should'區分。

  如果是一個字段中的查詢內容是否需要分詞以及分詞效果則用"match"匹配,"query"查詢,"operator"來決定是or連接還是and連接

 
三、刪除數據
#刪除指定數據(根據查詢條件刪除)
POST yc_studio_content/_delete_by_query
{
  "query":{
    "match": {
      "remarkId": 111
    }
  }
}
#刪除整個索引庫
DELETE yc_studio_content

 四、為索引庫添加字段mapping

PUT yc_studio_content/_mapping/_doc
{
  "properties": {
    "createUserId": {
      "type": "integer"
    },
    "updateUserId": {
      "type": "integer"
    }
  }
}

  

 
 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM