精华内容
下载资源
问答
  • elasticSearch修改数据

    千次阅读 2019-04-27 17:45:24
    指定文档ID修改 请求url http://127.0.0.1:9200/people/man/1/_update 请求类型POST,请求参数 { "doc": { "name": "wawali" } } 脚本修改 请求url和类型是一致的,参数如下: { "script": { "lang": ...

    指定文档ID修改

    请求url http://127.0.0.1:9200/people/man/1/_update 请求类型POST,请求参数

    {
    	"doc": {
    		"name": "wawali"
    	}
    }
    

    脚本修改

    请求url和类型是一致的,参数如下:

    {
    	"script": {
    		"lang": "painless",
    		"inline": "ctx._source.age += 10"
    	}
    }
    

    另外一种

    {
    	"script": {
    		"lang": "painless",
    		"inline": "ctx._source.age = params.age",
    		"params": {
    			"age": 100
    		}
    	}
    }
    
    展开全文
  • elasticsearch修改数据

    千次阅读 2018-10-20 07:30:00
    上篇文档向读者介绍了Elasticsearch提供的强大的REST API的基本用法,不过这些API的用法都很基础,本文将和读者继续分享更多的API。本文是Elastic...
        

    上篇文档向读者介绍了Elasticsearch提供的强大的REST API的基本用法,不过这些API的用法都很基础,本文将和读者继续分享更多的API。

    本文是Elasticsearch系列的第三篇,阅读前面的文章,有助于更好的理解本文:


    1.elasticsearch安装与配置
    2.初识elasticsearch中的REST接口


    Elasticsearch提供了近乎实时(NRT)的数据操作和搜索功能。默认情况下,对数据进行索引/更新/删除,到该数据出现在搜索结果中,延迟时间不超过1秒,这是和其他SQL一个很大的区别。

    索引/替换文档

    在前文我们提到过,通过如下命令可以建立一个索引:

    curl -X PUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d'	
    {	
      "name": "John Doe"	
    }	
    '

    执行结果如下:

    640?wx_fmt=png

    上面这个命令,会将 {"name":"John Doe"}文档索引到customer索引、_doc类型中。如果对一个不同(或者相同)的文档使用如上命令,Elasticsearch则会使用一个新的文档来重新索引ID为1的那个文档,例如,再次执行上面这个命令,结果如下:

    640?wx_fmt=png

    可以看到,响应结果中, _id依然为1,但是 _version为2, result也变为 updated了。这是文档内容相同的情况,文档内容要是不同的话,则会更新ID为1的文档,如下:

    640?wx_fmt=png

    此时会将ID为1的文档更新,结果如上图。
    在创建索引时,ID参数并不是必须的,也可以不指定ID,此时会自动生成一个ID,例如如下请求:

    curl -X POST "localhost:9200/customer/_doc?pretty" -H 'Content-Type: application/json' -d'	
    {	
      "name": "Jane Doe"	
    }	
    '

    执行结果如下:

    640?wx_fmt=png

    可以看到,此时自动生成了ID。

    注意,最后一个是POST请求,而前面的都是PUT请求

    更新文档

    除了可以索引、替换文档之外,也可以更新一个文档。需要注意的是,Elasticsearch底层并不支持更新操作,所谓的更新,是将旧的文档删除,然后索引一个新的文档。如下:

    curl -X POST "localhost:9200/customer/_doc/1/_update?pretty" -H 'Content-Type: application/json' -d'	
    {	
      "doc": { "name": "Jane Doe" }	
    }	
    '

    这个请求,表示对ID为1的文档内容进行修改,结果如下:

    640?wx_fmt=png

    还可以在修改字段的同时,再添加上新的字段,如下:

    curl -X POST "localhost:9200/customer/_doc/1/_update?pretty" -H 'Content-Type: application/json' -d'	
    {	
      "doc": { "name": "Jane Doe", "age": 20 }	
    }	
    '

    640?wx_fmt=png

    在更新文档时,也可以使用一些简单的脚本,例如给age增加5,请求如下:

    curl -X POST "localhost:9200/customer/_doc/1/_update?pretty" -H 'Content-Type: application/json' -d'	
    {	
      "script" : "ctx._source.age += 5"	
    }	
    '

    执行结果如下:

    640?wx_fmt=png

    在这个案例中, ctx._source指向当前被更新的文档。

    这里介绍的只是更新文档的最基本的API,更多API,我将在未来的文章中继续向读者介绍。

    删除文档

    删除文档是一个相当直观的操作,如下请求表示删除ID为1的文档:

    curl -X DELETE "localhost:9200/customer/_doc/1?pretty"

    该请求执行结果如下:

    640?wx_fmt=png

    这里介绍的只是删除文档的最基本的API,更多API,我将在未来的文章中继续向读者介绍。

    批处理

    除了对单个的文档进行索引、更新和删除,Elasticsearch也提供了相关操作的批处理功能,这些批处理功能通过使用_bulk API实现。通过批处理可以非常高效的完成多个文档的操作,同时可以减少不必要的网络请求。

    如下案例表示索引两个文档:

    curl -X POST "localhost:9200/customer/_doc/_bulk?pretty" -H 'Content-Type: application/json' -d'	
    {"index":{"_id":"1"}}	
    {"name": "John Doe" }	
    {"index":{"_id":"2"}}	
    {"name": "Jane Doe" }	
    '

    执行结果如下:

    640?wx_fmt=png

    如下案例,表示更新id为1的索引,然后然后删除id为2的索引:

    curl -X POST "localhost:9200/customer/_doc/_bulk?pretty" -H 'Content-Type: application/json' -d'	
    {"update":{"_id":"1"}}	
    {"doc": { "name": "John Doe becomes Jane Doe" } }	
    {"delete":{"_id":"2"}}	
    '

    执行结果如下:

    640?wx_fmt=png

    注意,delete动作,由于删除只需要被删除文档的ID,所以并没有对应的源文档。
    bulk API按顺序执行这些操作。如果其中一个操作因为某些原因失败了,它将会继续处理后面的操作。当bulk API返回时,它将提供每个操作的状态(按照同样的顺序),所以开发者能够看到每个操作成功与否。

    好了,本文先介绍到这里,有问题欢迎留言讨论。

    ▼往期精彩回顾▼Redis教程SpringCloud教程Git教程MongoDB教程SpringBoot+Vue前后端分离开源项目-微人事SpringBoot+Vue前后端分离开源项目-V部落

    640?wx_fmt=png

    展开全文
  • (四)ElasticSearch修改数据 方式:直接修改、通过脚本修改 直接修改 (1)修改id为1的数据 (2)查看 脚本修改 { "script":{ "lang":"painless", "inline":"ctx._source.age += 10" } } 其它方式注入参数 ...

    (四)ElasticSearch修改数据

    方式:直接修改、通过脚本修改

    直接修改

    (1)修改id为1的数据

    在这里插入图片描述

    (2)查看
    在这里插入图片描述

    脚本修改

    在这里插入图片描述

    {
        "script":{
            "lang":"painless",
            "inline":"ctx._source.age += 10"
        }
    }
    

    其它方式注入参数
    在这里插入图片描述

    {
        "script":{
            "lang":"painless",
            "inline":"ctx._source.age = params.age",
            "params":{
                "age":100
            }
        }
    
    展开全文
  • es修改数据

    千次阅读 2018-11-02 19:03:00
    # 官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html#bulk-routing * es修改数据: # update_by_query: def update_order_info_by_id(data_list): update_body = { ...
    # 官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html#bulk-routing
    * es修改数据:
    # update_by_query:
        def update_order_info_by_id(data_list):
            update_body = {
                 "query": {
                     "term": {"_id": id_}
     
                },
                "script": {
                    "inline": "ctx._source.order_info=params.order_info",
                    "params": {
                        'order_info' : {"test": "999qwwe", 'aa':"sssqweee"}
                    }
                }
            }
    
         resp = es.update_by_query(index=index, doc_type=doc_type, body=update_body)
    
        
        # 批量修改
        def update_order_info_by_id(data_list):
          # res_set = set()
        res_set = []
        for id_ in data_list:
            res_dict = dict()
            res_dict["_index"] = index
            res_dict["_op_type"] = "update"
            res_dict["_type"] = doc_type
            res_dict["_id"] = "AWZb5L8Kt4yMTep0SgOS" # 批量修改时id必须传递
            update_body = {
                "script": {
                    "inline": "ctx._source.order_info=order_info",
                    "params": {
                        'order_info' : {"test": "999qwwe", 'aa':"sssqweee"}
                    }
                }
            }
            res_dict.update(update_body)
            res_set.append(res_dict)
     success, _ = helpers.bulk(es, actions=res_set)
    

    转载于:https://www.cnblogs.com/lajiao/p/9897943.html

    展开全文
  • 1.在实际项目中 elasticsearch磁盘超过95%后,会出现一切连接等都正常,写接口也不报错的问题 原来磁盘超过95%后,es会变成只读模式,扩容后,也不会自动还原,通过下面的语句可以还原回来: PUT _settings { "index": { ...
  • 方式:直接修改、通过脚本修改 直接修改 (1)修改id为1的数据 (2)查看   脚本修改 其它方式注入参数
  • 3.修改elasticsearch.yml中的路径,将旧路径改成新的路径 重要:修改路径之前一定要先停掉ES的服务,不然找不到数据路径,会将Linux跑崩溃的, 血的教训 旧的数据路径: path.data: /home/data/elastics...
  • 修改elasticsearch字段数据类型

    千次阅读 2020-02-14 16:54:51
    以下操作基于elasticsearch版本:5.4 (elasticsearch最新版本7.x不适合) ...elasticsearch中字段的数据类型无法做更新处理,这不像mysql中字段数据类型可以更新。 因此修改字段数据类型的思路是: 1、先新建...
  • 工作需要,在更改数据时需要维护es(ElasticSearch简称,以下均称es)数据,记录个人总结。以下只包含java对es数据操作,不包含es基础内容。 一、导入maven坐标 <dependency> <groupId>org.spring...
  • elasticsearch 更改已有字段的数据类型

    万次阅读 2019-05-21 21:15:37
    elasticsearch 更改已有字段的数据类型 【问题背景】: 在elasticsearch中,如果你没有指定字段映射,那么,elasticsearch将对为指定数据类型的字段做动态映射。 例如,当入库的前期数据字段result为数值型时,...
  • 1.Elastic Search如何修改文档的数据? 做修改可以用POST ;修改的关键是id; 如果你在后面从来没有指定过id是2,换言之ES里没有id是2的数据那么下面就是添加数据;如果有id为2的数据那下面就变成了修改; POST /book...
  • ES-Hadoop是Elasticsearch推出的专门用于对接Hadoop生态的工具,可以让数据Elasticsearch和Hadoop之间双向移动,无缝衔接Elasticsearch与Hadoop服务,充分使用Elasticsearch的快速搜索及Hadoop批处理能力,实现...
  • 前言 最近 TL 分享了下 《Elasticsearch基础... Lucene的底层结构,然后详细描述新数据写入 ES 和 Lucene 的流程和原理。这是基础理论知识,整理了一下,希望能对 Elasticsearch 感兴趣的同学有所帮助。 一、E...
  • ElasticSearch7 修改数据

    千次阅读 2019-08-12 14:14:01
    主要介绍当在ES中添加了document后,如何更新、删除、批量操作数据。 2、内容 1、更新文档 PUT /customer/_doc/1?pretty { "name": "John Doe" } 说明:更新与保存都是使用put方法。 2、删除文档 DELETE /...
  • elasticsearch数据到hive、es-hadoop6.3.0

    千次阅读 2018-08-06 00:17:44
    elasticsearch数据到hive 思路1 思路2 安装ES-hadoop 添加jar包到hive es数据导入到hive的最基础设置 es数据导入到hive进阶之mapping设置 es数据导入到hive进阶之array 相关文章 参考 同一模块中...
  • Java如何修改Elasticsearch中的数据

    千次阅读 2018-09-26 18:38:56
    Java如何修改elasticsearch中的数据呢?简单的讲分为两步:客户端连接上es修改es中的数据....... ElasticSearch提供了根据索引名称,类别,文档ID来修改数据修改的设置数据可以是Map,Json串,自带工具。我们...
  • 整体思路:基于两台虚拟机Linux环境,搭建两个Elasticsearch测试集群,通过快照方式将集群1的数据索引test_index_db,整体迁移至集群2。 集群环境:jdk1.8,es6.4.1,kibana6.4.1
  • http://192.168.250.101:9200/call_record_index/call_record_type/_search {   "query": {   "range": {   "serverFee": {   "gte": 1   }   }   }  } ...
  • Elasticsearch数据备份与恢复

    千次阅读 2019-09-26 17:18:17
    Elasticsearch默认配置是数据持久化的,就是ES会定时地把缓存数据刷新到硬盘,从而达到数据持久化地效果。在生产环境中,ES数据持久化是必须的,防止出现断电时数据的丢失。当然,除了数据持久化外,我们也是得...
  • ElasticSearch删除所有的文档数据 ElasticSearch更改索引结构
  • 使用 Elasticsearch Head 查看“数据浏览”时,右侧不出数据,使用浏览器F12查看后,发现 406 Not Acceptable 错误。 解决方法 1、进入 es-head 安装目录; 2、cd _site/ 3、编辑 vendor.js 共有两处 将 6886行 ...
  • 2.找到当前需要修改的最新索引数据 3.如标记,拷贝“mappings”:{} 4. 进入模板管理 5.如图所示,复用次膜拜 6. 如图所示设置名称,修改索引名称,覆盖数据 确认无误 保存提交 ...
  • Elasticsearch数据安全

    2020-11-20 15:15:23
    elasticsearch.yml文件中的server.host配置成0.0.0.0, 公网用户可以任意访问 数据安全性的基本要求 身份认证:鉴定用户是否合法 用户鉴权:指定用户才能访问,细粒度到索引 传输加密 日志审计 免费方案 设置...
  • es修改索引名称命令 嘿, 今天,我碰巧写了一个脚本来解决一个看起来很多人都面临的特定问题:重命名给定的Elasticsearch索引。 自然地,有记录在案的解决方案,但是我没有Swift找到一个脚本可以让我找到我想...
  • es输出数据安装ElasticSearch1、下载ES,下载地:https://www.elastic.co/downloads 2、修改config/elasticsearch.ymal配置 cluster.name: my-application node.name: node-1 network.host: 192.168.21.17
  • ElasticSearch3.0-es集群的数据入库

    千次阅读 2017-03-08 12:39:35
    首先按照官网的优化介绍,有几个设置参数是必须在创建表之前就设定的,一旦录入数据之后,这几个参数就没法修改,并参考了下徽沪一郎大神这篇博文《elasticsearch性能调优》。 1 - 通过kibana的dev

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 135,257
精华内容 54,102
关键字:

es修改数据