Elasticsearch简介
一、什么是Elasticsearch?
Elasticsearch是一个开源的分布式、RESTful 风格的搜索和数据分析引擎,它的底层是开源库Apache Lucene。
- 一个分布式的实时文档存储,每个字段可以被索引与搜索;
- 一个分布式实时分析搜索引擎;
- 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据
Kibana 是一个开源的分析和可视化平台,旨在与 Elasticsearch 合作。Kibana 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能;
1.倒排索引(Inverted Index)
由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index);
2.节点 & 集群(Node & Cluster)
以下全部的操作都在Kibana中完成,创建的index为conference, type为event .
1.插入数据
PUT /conference/event/1 { "host": "Dave", "title": "Elasticsearch at Rangespan and Exonar", "description": "Representatives from Rangespan and Exonar will come and discuss how they use Elasticsearch", "attendees": ["Dave", "Andrew", "David", "Clint"], "date": "2013-06-24T18:30", "reviews": 3 }
路径/conference/event/1表示文档的index为conference, type为event, id为1;
2.删除数据
删除conference中event里面id为5的数据:
DELETE /conference/event/5
删除整个event类型
DELETE /conference/event
删除整个conference索引:
DELETE /conference
3.修改数据:
将conference中event里面id为4的文档的作者改为Bob
POST /conference/event/4/_update { "doc": {"host": "Bob"} }
4.查询数据:
查询conference中event里面id为1的数据:
GET /conference/event/1
搜索conference中event里面所有的文档:
GET /conference/event/_search
查询表达式:
检索conference中event里面所有host为Bob的文档:
GET /conference/event/_search { "query" : { "match" : { "host" : "Bob" } } }
搜索下所有description中含有"use Elasticsearch"的event:
GET /conference/event/_search { "query" : { "match" : { "description" : "use Elasticsearch" } } }
搜索下所有description中严格含有"use Elasticsearch"这个短语的event:
GET /conference/event/_search { "query" : { "match_phrase": { "description" : "use Elasticsearch" } } }
posted on 2020-07-24 14:39 lidongsheng 阅读(293) 评论(0) 编辑 收藏 举报