ES-更新语句

1、根据id更新

  POST idx_product-fat/doc/100101/_update
    {
    "doc" : {
        "minPrice" : 3,
        "price" : 2
            }
    }
    idx_product-fat 索引名称
    doc  type类型
    10006145 id
    doc 文档(固定)
    minPrice字段名称 

2、条件更新

POST idx_hippo_sku_statistics_index/_update_by_query
{
  "script": {
    "source": "ctx._source['distributionChannel']=1" 
  },
  "query": {
    "term":{
      "cityId":138
    }
  }
}
idx_hippo_sku_statistics_index  索引
_update_by_query  特定条件更新语法

"query": {
    "term":{
      "cityId":138
    }
  }
  更新的时候必须要满足的条件
  
 "script": {
    "source": "ctx._source['distributionChannel']=1" 
  }
  语法相对固定:
  
  distributionChannel  要被更新的字段, 后面是对应的更新字段的值;
  

3、覆盖更新

PUT /idx_product-fat/doc/10006145
{
"minPrice": 1,
"price": 30
}



idx_product-fat 索引名称
doc  type类型
10006145 id

覆盖更新,就是原来会有很多个字段,使用了这个sql之后就会把原来的值全部更新

ES (Elasticsearch) 是由 Elasticsearch 公司提供的开源全文搜索及分析引擎,它基于 Lucene,用于构建高性能、分布式的大数据处理系统。ES 支持实时查询,并能高效地处理大量的日志、事件流和其他实时数据源。下面是一些常用的 ES 查询语句及其解释: ### 1. **基本搜索查询** 基础的全文搜索语句,查找包含指定关键字的所有文档。 ```json GET /index_name/_search { "query": { "match": { "field_name": "keyword" } } } ``` 这里 `index_name` 是索引名称,`field_name` 是需要搜索的字段名,`keyword` 是你要搜索的关键字。 ### 2. **范围查询** 用于查询特定范围内值的记录。 ```json GET /index_name/_search { "query": { "range": { "numeric_field": { "gt": 5, "lt": 10 } } } } ``` 在这个例子中,我们查询 `numeric_field` 字段大于5且小于10的记录。 ### 3. **聚合查询** 聚合查询用于对结果集进行统计汇总。 ```json GET /index_name/_search { "aggs": { "my_aggregation": { "terms": { "field": "category", "size": 10 }, "aggs": { "average_price": { "avg": { "field": "price" } } } } } } ``` 这个查询会将所有文档按照 `category` 字段分组,并计算每个类别下平均价格。 ### 4. **过滤查询** 用于进一步缩小搜索结果的条件筛选。 ```json GET /index_name/_search { "query": { "bool": { "must": [ {"term": { "status": "active" }}, {"range": {"timestamp": { "gte": "2021-01-01T00:00:00Z", "lte": "2021-12-31T23:59:59Z" }}} ] } } } ``` 此查询将只返回状态为“active”且时间戳在2021年之间的文档。 ### 5. **高亮显示查询** 用于突出显示查询匹配到的结果。 ```json GET /index_name/_search { "highlight": { "pre_tags": ["<strong>"], "post_tags": ["</strong>"], "fields": { "title": {} } }, "query": { "match": { "title": "keyword" } } } ``` 这将在搜索结果的 `title` 字段中高亮显示匹配的关键字。 ### 相关问题: 1. **如何优化 ES 性能?** 2. **ES 的索引是如何工作的?** 3. **在实际项目中如何安全地利用 ES 进行大规模数据检索?**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值