一、定义
:ElasticSearch是一个基于Lucene、RESTful风格的一个搜索服务器,是一个分布式全文搜索引擎,和他有相同功能的还有一个Solr,但是他是一个基于web service 接口的一个搜索服务器。
二、核心概念:
1、近实时:elastic在通过倒排索引后搜索的速度会很快,大概1秒左右,也就是说他的搜索是秒级别的;
2、Cluster(集群):一个集群包含一个或多个节点,也就是说多台服务器就构成一个集群。但是为什么说包含一个节点也是一个集群呢,那是因为在我们刚使用,没有搭建集群的时候,只有一台服务器他的底层源码也是把他设置默认是一个集群,也就是说他自己就是一个集群;
3、Node(节点):一个节点就是一台搜索服务器;
4、index(索引):一个索引库包含了相似的,多种的文档数据结构,可以把他类比与一个数据库;
5、Type(类型):类比与数据库中的一张表,但是在7.x之后取消了;
6、Document(文档):类比于数据库表中一条记录(一行数据);
7、Filed(字段):类比与数据库表中一个数据项(列)
8、Mapping(映射):类比于数据库表中的约束,这些存在于索引库中的数据是怎样存放的,需要有一个与之映射的一个配置文件:比如配置包含:数据的类型、是否分词等
三、RESTful风格介绍
四、分词器:
分词器:也就是把一串字符串分割成为几段独立的,可供搜索的字符串
比如:现有一个字符串“ElasticSearch是用Java写的”
通过Ik分词器(中文的分词器,一个插件)之后可能变为:
ElasticSearch、是、用、Java、写、的
分词器含有一个分词库,怎么分词,用什么策略取决于自己;
五、为什么搜索这个快——倒排索引(反向索引):
推荐这篇文章,说的不错
https://www.cnblogs.com/zlslch/p/6440114.html
六、ElasticSearch 安装部署:
很简单,开箱即用
1、
方法一:官网下载,解压即可:(有时候慢的话,建议切换国内源)
https://www.elastic.co/cn/downloads/elasticsearch
方法二:直接使用brew install命令来快速安装Elasticsearch,命令如下:
brew install elasticsearch
2、常用命令:
(1)安装完成后可使用命令来查看ES版本信息:elasticsearch --version
(2)启动:(进入到elasticsearch安装的目录下执行)
sh ./bin/elasticsearch
(3)访问:localhost:9200,出现以下信息,说明启动成功
(4)关闭ElasticSearch
方法一:使用ElasticSearch——head插件;
方法二:杀死进程:
ps -ef|grep elasticsearch 查看是否有elasticsearch的进程
杀死进程:kill -9 16161(关闭ES)
七、elasticsearch-head插件安装部署
前提:elasticsearch-head是需要在有node.js的换将上才能完成安装的
安装node.js环境如下:
1、安装命令
brew install node
2、产看版本信息:
node -v
1、下载(使用Git下载ElasticSearch-head到ElasticSearch的解压目录下)
git clone git://github.com/mobz/elasticsearch-head.git
2、进入ElasticSearch-head的目录
执行以下命令:
2.1、安装
npm install
2.2、 启动:
npm run start
2.3、细心的朋友可能会发现elasticsearch—head访问端口是9100,而elasticsearch是访问端口是9200所以想要使用这个elasticsearch—head插件连接ES,还需要在ES的config/elasticsearch.yml修改以下配置,允许跨域访问。
http.cors.enabled: true
http.cors.allow-origin: "*"
2.4、浏览器访问出现以下的界面,安装、启动、连接 完成。