Elasticsearch用法

来源:互联网 发布:windows蓝牙找不到了 编辑:程序博客网 时间:2024/06/08 10:45

二、 PUT 和POST用法


put : 注重修改
post: 注重新增

这里写图片描述

创建索引库

curl -XPUT 'http://TEST:9200/index_name'

这里写图片描述

插入索引

[chb@TEST bin]$ curl -XPOST http://TEST:9200/chb/employee/1 -d '{> "first_name" : "John", > "last_name" : "Smith", > "age" : 25, > "about" : "I love to go rock climbing", > "interests": [ "sports", "music" ] > }'{   "_index":"chb",    "_type":"employee",    "_id":"1",    "_shards":{"total":2,"successful":1,"failed":0},    "created":true} [chb@TEST bin]$ 

2.1、 创建索引注意事项

2.1.1、索引库名称必须要全部小写

2.1.2、 如果没有明确指定索引数据的ID,那么es会自动生成一个随机的ID,需要使用POST 参数

curl -XPOST http://TEST:9200/chb/emp/ -d '{"first_name" : "John"}' 

2.1.3、如果想要确定我们创建的都是全新的内容

  • 1、使用自增ID
  • 2、:在url后面添加参数 :?op_type=create
[chb@TEST bin]$ curl -XPUT http://TEST:9200/chb/emp/2?op_type=create -d '{"name":"zs","age":25}'    {"_index":"chb",     "_type":"emp",     "_id":"2",     "_version":1,      "_shards":{"total":2,"successful":1,"failed":0},"created":true} [chb@TEST bin]$ [chb@TEST bin]$ curl -XPUT http://TEST:9200/chb/emp/2?op_type=create -d '{"name":"zs","age":25}'##再次执行,出现失败document_already_exists_exception

注意:如果成功创建了新的文档,Elasticsearch将会返回常见的元数据以及201 Created 的HTTP反馈码。而如果存在同名文件,Elasticsearch将会返回一个409 Conflict的 HTTP反馈码

##三、GET查询索引
###3.1、根据员工id查询

[chb@TEST bin]$ curl 'http://TEST:9200/chb/employee/1?pretty'{  "_index" : "chb",  "_type" : "employee",  "_id" : "1",  "found" : false}[chb@TEST bin]$ //查询的结果[chb@TEST bin]$ curl 'http://TEST:9200/chb/emp/2?pretty'{  "_index" : "chb",  "_type" : "emp",  "_id" : "2",  "_version" : 1,  "found" : true,  "_source" : {    "name" : "zs",    "age" : 25  }}

3.2、 curl后添加-i 参数,这样你就能得到反馈头文件

[chb@TEST bin]$ curl -i 'http://TEST:9200/chb/emp/2?pretty'##头信息HTTP/1.1 200 OKContent-Type: application/json; charset=UTF-8Content-Length: 148{  "_index" : "chb",  "_type" : "emp",  "_id" : "2",  "_version" : 1,  "found" : true,  "_source" : {    "name" : "zs",    "age" : 25  }}[chb@TEST bin]$ 

3.3、检索文档中的一部分,如果只需要显示指定字段

###_source=xx 指定所要查询的部分字段 curl 'http://TEST:9200/chb/emp/2?_source=name,age'

3.4、如果只需要source的数据

 curl 'http://TEST:9200/chb/emp/2?_source'

3.5、查询所有

curl 'http://TEST:9200/chb/emp/2?_search'

3.6、你可以再返回的 hits 中发现我们录入的文档。搜索会默认返回最前的 10个数值。

3.7、根据条件进行查询

 curl -XGET 'http://TEST:9200/chb/emp/_search?q=last_name:Smith'
0 0
原创粉丝点击