ES是基于Lucene开发的一个分布式全文检索框架,往ES中存储和查询,格式是json。
ES和关系型数据库比较
索引:Index 相当于关系型数据库中的database
类型:Type 相当于关系型数据库中的table
主键:id 相当于关系型数据库中的主键
向ES中存储数据,其实就是往ES中的Index下的Type中存储JSON数据。
RESTFul风格API
通过http的形式,发送请求,对ES进行操作。
查询:请求方式为GET
删除:请求方式为DELETE
添加:请求方式为PUT/POST
修改:请求方式为PUT/POST
RESTful接口URL的格式:
http://localhost:9200/<index>/<type>/[<id>]
其中index、type是必须提供的。
id是可选的,不提供es会自动生成。
index、type将信息进行分层,利于管理。
index可以理解为数据库;type理解为数据表;id相当于数据库表中记录的主键,是唯一的。
新建store索引
插入一条数据
{ "title": "Elasticsearch: The Definitive Guide", "name": { "first": "Zachary", "last": "Tong" }, "publish_date": "2018-12-04", "price": "49.99"}
查询
也可以通过浏览器查询
再添加一条数据
{ "title": "Elasticsearch Blueprints", "name" : { "first" : "Vineeth", "last" : "Mohan" }, "publish_date":"2018-12-05", "price":"35.99"}
也可以进行部分条件查询
类似于select title , 上面的查询则类似select *
多条件查询用,分隔
修改有两种方式:1、put直接覆盖原来的所有数据 2、update指定修改的数据
查询查看数据
删除
基本查询 _search ,query 查询参数,bool :布尔过滤器 ,must 必须满足,filter 过滤器,term 词条查询,必须满足
网友评论