zoukankan      html  css  js  c++  java
  • day1:使用elasticsearch增删改查文档

    集群--节点--索引--文档--分片(主/副)
    cluster, node, index, document,shards及replica

    查看当前index的主副分片配置:
    curl -XGET http://localhost:9200/apollo/_settings?pretty
    默认创建 5个主分片,一个副分片,主分片数一旦创建,即固定无法更改

    创建索引并插入一个文档:
    curl -XPOST 'http://localhost:10290/twitter/_doc/1?pretty' -H 'Content-type: application/json' -d '{ "user": "GB", "uid": 1, "city": "Shenzhen", "province": "Guangdong", "country": "China" }'

    查询:
    curl -XGET 'http://localhost:10290/twitter/_doc/1?pretty' -H 'Content-type: application/json'

    直接得到文档的source信息:
    curl -XGET 'http://localhost:10290/twitter/_doc/1/_source?pretty' -H 'Content-type: application/json'

    直接获得source的部分字段:
    curl -XGET 'http://localhost:10290/twitter/_doc/1?_source=user,uid,city&pretty' -H 'Content-type: application/json'


    修改文档:
    这里的1指的是 id 为 1 的文档
    curl -XPUT 'http://localhost:10290/twitter/_doc/1?pretty' -H 'Content-type: application/json' -d '{ "user": "GB", "uid": 1, "city": "北京", "province": "北京", "country": "中国", "location":{ "lat":"29.084661", "lon":"111.335210" } }'

    {
    	"user": "GB",
    	"uid": 1,
    	"city": "北京",
    	"province": "北京",
    	"country": "中国",
    	"location": {
    		"lat": "29.084661",
    		"lon": "111.335210"
    	}
    }
    

      

    使用PUT的这个方法,每次修改一个文档时,我们需要把文档的每一项都要写出来。这对于有些情况来说,并不方便,所以:

    _update尝试未成功,不知为何


    搜索并对搜索结果修改:
    curl -XPOST 'http://localhost:10290/twitter/_update_by_query?pretty' -H 'Content-type: application/json' -d '{"query":{"match":{"city":"北京"}}, "script":{"source":"ctx._source["province"]=params["province"]", "lang":"painless", "params":{"province":"河北省"}}}'

    {
    	"query": {
    		"match": {
    			"city": "北京"
    		}
    	},
    	"script": {
    		"source": "ctx._source["province"]=params["province"]",
    		"lang": "painless",
    		"params": {
    			"province": "河北省"
    		}
    	}
    }
    

      


    删除一个文档:
    2 为文档 id
    curl -XDELETE 'http://localhost:10290/twitter/_doc/2?pretty'

    根据查询条件删除一个文档:
    curl -XPOST 'http://localhost:10290/twitter/_delete_by_query?pretty' -H 'Content-type: application/json' -d '{"query":{"match":{"city":"Shenzhen"}}}'


    删除一个index:
    DELETE twitter
    curl -XDELETE 'http://localhost:10290/twitter?pretty'


    bulk命令尝试不成功


    关闭索引:
    关闭索引后无法查询
    curl -XPOST 'http://localhost:10290/twitter/_close?pretty'

    打开索引:
    curl -XPOST 'http://localhost:10290/twitter/_open?pretty'

  • 相关阅读:
    spring mvc实现登录验证码
    sqlite可视化工具推荐
    【转载】oracle更新语法
    解决首次访问jenkins,输入默认密码之后,一直卡住问题
    Selenium+java
    ubuntu16.04安装Ros(kinetic版本)【亲测好用】
    Selenium+java
    Selenium+java
    Selenium+Java
    Selenium+java
  • 原文地址:https://www.cnblogs.com/zhanghaibin16/p/13887441.html
Copyright © 2011-2022 走看看