ElasticSearch全文搜索

你离开我真会死。 提交于 2020-01-17 00:42:57

一.认识ElasticSearch

1.1什么是ElasticSearch

ES的索引库管理支持依然是基于Apache Lucene(TM)的开源搜索引擎,
ES也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单

1.2类似框架

① Solr
Apache Lucene项目的开源企业搜索平台。其主要功能包括全文检索、命中标示、分面搜索、动态聚类、数据库集成,以及富文本(如Word、PDF)的处理。Solr是高度可扩展的,并提供了分布式搜索和索引复制。Solr是最流行的企业级搜索引擎,Solr4 还增加了NoSQL支持。
② Katta
③ HadoopContrib

1.3solr与ES的比较

Solr 利用 (zookeeper注册中心) 进行分布式管理,支持更多格式的数据(HTML/PDF/CSV),官方提供的功能更多在传统的搜索应用中表现好于 ES,但实时搜索效率低
ES自身带有分布式协调管理功能,但仅支持json文件格式,本身更注重于核心功能,高级功能多有第三方插件提供,在处理实时搜索应用时效率明显高于solr

二.ES的安装

1.需要jdk1.7以上

下载安装包
运行命令 bin/elasticsearch.bat
访问:http://localhost:9200/ 进行验证
看到此图则表示成功

2.基于RESTful API

ES和所有客户端的交互都是使用JSON格式的数据.
其他所有程序语言都可以使用RESTful API,通过9200端口的与ES进行通信,在开发测试阶段,你可以使用你喜欢的WEB客户端, curl命令以及火狐的POSTER插件方式和ES通信

3.Java API

ES为Java用户提供了两种内置客户端:
节点客户端
传输客户端

4.辅助管理工具Kibana5

三.安装ES客户端

3.1相关概念理解

(1)Near Realtime(NRT):近实时
(2)Index:索引库,包含一堆有相似结构的文档数据
(3)Type:类型
(4)Document&field:文档,es中的最小数据单元
(5)Cluster:集群,包含多个节点,每个节点属于哪个集群是通过一个配置来决定的
(6)Node:节点,集群中的一个节点,节点也有一个名称

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!