内容简介:ES面向文档的存储方式。文档(document)是ES根对象(root object)序列化的数据,包含存储的数据(_source)和其他的对象信息。
一:
elasticsearch 是什么
-
elasticsearch 是一个高度可扩展的开开源的分布式 RESTful搜索和分析引擎
-
它具有快速,近乎实时存储,搜索和分析大量数据
-
它通常作为一个基础引擎技术为公司的搜索中心项目所用
二:为什么要学习elasticsearch
-
迄今为止最先进,性能最好,功能最全的搜索引擎库Lucene
-
分布式实时文件存储
-
支持横向扩展和纵向扩展。不需要程序去关注这些。
三:elasticsearch几个使用场景
-
如果你的公司有电商项目,可以使用elasticsearch存储商品,目录和库存,为用户提供搜索和自动补全搜索关键词的功能。
-
如果你想收集数据和日志信息,并且通过这些数据找到趋势,统计信息,摘要和异常,可以使用Logstash(Elasticsearch/Logstash/Kibana 堆栈的一部分功能)去收集、解析和汇总数据。然后将这些数据放入elasticsearch中,我们就可以在elasticsearch挖掘我们想要的数据信息。
-
全商品中心的商品降价推送。平台可以抓取所有供应商的价格,将其推送的elasticsearch并使用倒排功能(Percolator)与用户的查询相匹配,匹配合适就可以推送给用户购买。
-
使用Kibana(Elasticsearch/Logstash/Kibana stack)对elasticsearch存储的数据自定义仪表板。使用elasticsearch的聚合功能对数据进行复杂的商业智能查询。
四:安装es和Kibana
-
1:下载安装,运行,不多介绍,默认运行地址:http://localhost:9200/
-
2:安装Kibana,Kibana(sense)是一个和ES一起使用的开源分析和可视化平台。安装成功后启动 http://localhost:5601/app/sense
-
3:Kibana界面->dev_tools->控制台,demo如下:查询所有的数据
返回参数 | 含义 |
---|---|
took | 耗费时间(毫秒) |
time_out | 是否超时(默认无) |
_shards | 数据的分片,total:分片总数 successful:分片成功数 |
hits.total | 查询结果集数量(多少个document) |
hits.max_score | 文档与查询的匹配程度,越匹配分数越高 |
hits.hits | 返回文档数据详情,是一个数组,每个数组包含排名前十的文档 |
_index | 文档存储的地方 |
_type | 文档代表的对象的类 |
_id | 文档的唯一标识 |
_source | 存储的json字符串 |
五:ES的通信
-
java语言可以使用elasticsearch内置的两个客户端-节点客户端和传输客户端与es进行交互
-
其他的语言使用 RESTful API 通过端口和 Elasticsearch 进行通信
-
也可以直接通过curl命令直接和es交互
六:数据
1:文档 (document)
ES面向文档的存储方式。文档(document)是ES根对象(root object)序列化的数据,包含存储的数据(_source)和其他的对象信息。
2:索引(indexing)
-
ES中存储数据的行为就叫做索引,文档存在索引中,相当于关系数据库的DB
-
也可以不单独创建索引,直接建立文档,索引也直接创建
-
|参数 | 含义 | | ------------ | ------ | |hosjoy|索引名| |employee|类型名| |1|员工的id|
3:搜索
-
直接搜索,索引/类型/id
-
搜索一个类型的全部数据,id替换为_search
-
匹配文档数据内容(查询字符串搜索)q=
-
DSL(Domain Specific Language特定领域语言)语句查询
-
全文检索
4:更新
-
直接可以根据索引id修改json值
5: 删除
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Visual C++网络通信协议分析与应用实现
汪晓平、钟军 / 人民邮电出版社 / 2003-2-1 / 60.00元
本书介绍了如何利用Visual一起来看看 《Visual C++网络通信协议分析与应用实现》 这本书的介绍吧!