zoukankan      html  css  js  c++  java
  • es_数据基本操作_1

    第一.导入测试数据

    1.创建一个索引库(如果使用)

    ** windows下需要使用" **

    curl -XPUT "localhost:9200/fendo"

    2.导入es官网官网测试数据accounts.json

    curl -H "Content-Type:application/json" -XPOST "localhost:9200/fendo/account/_bul_bulk?pretty' --data-binary "@/tools/elasticsearch-6.6.2/accounts.json"

    注意:

    1 这里使用的时绝对路径,如果使用相对路径需要在accounts.json所在的目录运行curl命令—— @/accounts.json

    2 localhost:9200是ES的访问地址和端口

    3 fendo是索引的名称

    4 account是类型的名称

    5 索引和类型的名称在文件中如果有定义,可以省略;如果没有则必须要指定

    6 _bulk是rest得命令,可以批量执行多个操作(操作是在json文件中定义的,原理可以参考之前的翻译)

    7 pretty是将返回的信息以可读的JSON形式返回

    第二.基本操作

    a.插入

    ** 这里的json数据,window执行总是提示json格式问题,第一个采用拼接字符串,第二个采用转义字符 **

    curl -H "Content-Type:application/json" -XPUT "http://localhost:9200/test/es/1?pretty" -d "{"""first_name""":"""fendo"""}"

    或者

    curl -H "Content-Type:application/json" -XPUT "http://localhost:9200/test/es/1?pretty" -d "{"first_name":"fendo"}"
    返回的结果
    {
    "_index" : "test", //我们上文中指定的index —— test "_type" : "es", // 我们上文中指定的type —— es "_id" : "1", // 我们上文中指定的id —— 1 "_version" : 6, // 这里我已经执行了5次,从1开始,版本号每次新增一个 "result" : "updated", // 这里执行的是更新操作 "_shards" : { "total" : 2, "successful" : 1, "failed" : 0 }, "_seq_no" : 5, // 从0开始,每次增加一个 "_primary_term" : 1 }

    b.查询

    1.查询所有

    curl "localhost:9200/test/_search?q=*&pretty"

    其中test是查询的索引名称,q后面跟着搜索的条件{我好像传啥都返回空},q=*表示查询所有的内容

    2.请求体方式

    curl -H "Content-type:application/json" "localhost:9200/test/_search?pretty" -d "{"query":{"match_all": {}}}"

    把查询的内容放入body体中,会造成一定的开销

    3.根据索引来查询

    curl -XGET "localhost:9200/test/es/1?pretty"

    c.更新

    curl -H "Content-type:application/json" -XPUT "localhost:9200/test/es/1" -d "{"last_name":"fk"}"

    更新接口与创建接口完全一样,ES会查询记录是否存在,如果不存在就是创建,存在就是更新操作。

    d.删除

    curl -XDELETE "localhost:9200/test/es/1?pretty"

  • 相关阅读:
    数据分析三剑客 numpy,oandas,matplotlib(2)
    数据分析三剑客 numpy,oandas,matplotlib
    爬虫 crawlSpider 分布式 增量式 提高效率
    RestTemplate:带 header 的 get 请求
    Java:md5 摘要
    Java:Base64 编码
    Java:将字符串转换为枚举
    RestTemplate:使用 Map 传递参数
    Spring cloud:网关-Zuul路由
    Spring cloud:熔断器-Hystrix Dashboard
  • 原文地址:https://www.cnblogs.com/kongkongFabian/p/10576867.html
Copyright © 2011-2022 走看看