elasticsearch 索引

1.基本概念

  

 

     

2.创建索引 

  curl -XPUT http://localhost:9200/myindex?pretty
  其他方式创建索引库
  curl -H "Content-Type: application/json" -XPUT 'http://localhost:9200/indexwb3?pretty' -d '{
  "settings":{
  "index":{
  "number_of_shards":2,
  "number_of_replicas":5
}
}
}'  

3.查看索引

  curl -XGET http://localhost:9200/_cat/indices?v  

4.插入数据

   原生Ajax的时候,发送post请求,先决要素,就是必须有Content-Type:
  curl -H "Content-Type: application/json" -XPUT http://localhost:9200/indexwb2/product/p1 -d '{
  "name":"mac",
  "price":20000,
  "description":"苹果笔记本",
  "attr":["computer","高端"]
  }'

  结论:如果不能预判数据库中是否有该文档编号,那么添加已经存在的文档编号,会变成对原有文档的修改。
  小Tip:一旦文档被保存到索引库。和Java字符串相似。它就是不可变的。我们所谓的修改,其实是  使用乐观锁机制
  对我们的记录做了版本的标注。如果不想让ES默认第二个已经文档编号的添加形成称为修改行为,我们可以有如下两种方案。
  curl -H "Content-Type: application/json" -XPUT http://localhost:9200/indexwb2/product/p1?   op_type=create -d '{
"name":"mac",
"price":20000,
"description":"苹果笔记本",
"attr":["computer","高端"]
}'

(2)第二种方法是在URL后加/_create作为端点:
PUT /website/index/type/id/_create?pretty

5.查询数据

  

根据指定的条件,筛选部分的field进行展示
_search=name,age
_search_include 包含
_search_exclude 排除

_search=false //不显示_search中的文本
id/_search _index _type _id 不显示,只显示_source内容

6.修改数据

  

curl -H "Content-Type: application/json" -XPOST http://localhost:9200/myindex/product/p2/_update?pretty -d '{"doc":
{"name":"mac第四次",
"price":2000,
"description":"苹果笔记本",
"attr":["computer","高端"]}
}'

7.删除数据

curl -H "Content-Type: application/json" -XPUT http://localhost:9200/myindex/product/p3 -d '{
"name":"风扇",
"price":20,
"description":"手拿式电风扇",
"attr":["风大","体积小"]
}'

8.删除索引

curl -XDELETE http://localhost:9200/myindex/product/p1?pretty

9.简单查询

curl -XGET 'http://localhost:9200/myindex/product/_search?q=name:mac第四次&q=price:2000&pretty'
分页查询:
curl -XGET 'http://localhost:9200/myindex/product/_search?size=2&from=2&pretty'

https://blog.csdn.net/wypersist

原文地址:https://www.cnblogs.com/a157/p/9355935.html