Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch(一般为集群)中可以包含多个索引(对应数据库) ,每个索引中可以包含多个类型(对应表) ,每个类型下又包含多个文档(对应行),每个文档中又包含多个字段(对应列)。
1.创建索引
PUT /索引名/类型名/文档ID { 请求体 }
PUT ht/type1/1 { "name":"宏泰", "age":18, "tag":["夜猫子","奋斗党","雷神"] }
返回值
2.修改索引
修改索引可以直接使用Put来进行修改,但如果存在多个属性,修改时只赋值特定的属性时,则原来的对象将被覆盖,新对象中只包含新赋值的对象,原始信息丢失。故使用Post
POST ht/type1/2/_update { "doc":{ "name":"康康", } }
每修改一次version会增加
3.删除索引
DELETE ht/type1/5
4.查询索引
GET ht/type1/3
复杂查询
GET ht/type1/_search { "query":{ "match":{ "name":"康" #查询name中包含康的 } }, "_source":["name","age"], #只查询这两个字段 "sort": [ #根据年龄排序 { "age": { "order": "asc" } } ], "from": 0, #分页 从第几页开始 "size": 1 #页大小 }