首页 > 代码库 > Elasticsearch 学习笔记1 入门
Elasticsearch 学习笔记1 入门
参考资料
官方学习文档:https://www.elastic.co/guide/index.html
入门中文权威指南: http://es.xiaoleilu.com/
1 认识es
elasticsearch功能:
- 全文检索(可以解决DB检索问题(文本检索性能,全文检索等))- 分布式的实时文件存储,每个字段都被索引并可被搜索(牛逼)- 分布式的实时分析搜索引擎(实时性能好)- 可以扩展到上百台服务器,处理PB级结构化或非结构化数据(容易扩展,支持大数据量)
基于apache lucence,和solr比较:http://www.cnblogs.com/chowmin/articles/4629220.html,相比solr,有以下几点优点:
- elatisticsearch更加适用于实时搜索领域:实时建立索引时, Solr会产生io阻塞,查询性能较差- 在数据量增长时,elatisticsearch的性能优于solr
两者比较:
- Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能;- Solr 支持更多格式的数据,而 Elasticsearch 仅支持json文件格式;- Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供;- Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch。- Solr是传统搜索应用的有力解决方案,但 Elasticsearch 更适用于新兴的实时搜索应用。
2 启动与运行
安装教程间中文权威指南,安装完成后,有两个端口9200和9300:
- 9200: http Restful接口,用于展示集群数据以及使用http进行数据录入以及检索需求- 9300: transport端口,用于与JAVA客户端通信以及集群间通信,使用es自身传输协议:Elasticsearch Transport Protocol
3 es初探
文档:
- es是面向文档,可以对文档进行索引、搜索、排序、过滤- es使用json描述文档- 文档基本等同于mysql/mongodb的一行
索引(indexing):
- es中存储数据的过程就叫索引- Relational DB -> Databases -> Tables -> Rows -> Columns- Elasticsearch -> Indices(indexes) -> Types -> Documents -> Fields- es-->(n)indices-->(n)types-->(n)documents-->(n)fields- es使用倒排索引(inverted index)的数据结构加速消息检索
创建索引/类型/文档:
- 不需要显示去创建索引和类型,只需和mongodb类似直接插入文档后会自动创建index和type- 比如curl -X POST http://xxx:9200/sailor/user/1 -d ‘xxx‘,就会自动创建index(sailor)和type(user)- 通过HTTP的 POST/GET/PUT/DELETE操作可以对文档进行增删改查
检索:
- 使用_search可以检索符合条件的文档- 使用_search?q=first_name:xiao简单进行查询- 可以使用DSL语言进行搜索,使用filter- es在进行搜索时会对文档进行相关性计分,基于相关性由高到低的顺序排列文档- 聚合能支持各种类型聚合,如groupBy,取平均数等
Elasticsearch 学习笔记1 入门
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。