前言
当前全文搜索需求日益增长,ElasticSearch
作为一款开源的全文检索引擎,是当前许多大公司如WikiPedia
、Github
、Stack Overflow
等的首选,它能够对数据进行快速存储、搜索和分析。其底层则是开源库Lucene
,这也是方便我们的地方,只需要调用API
接口,就能够实现开箱即用。
下载
-
ElasticSearch
依赖于Java
环境,所以在开始下载安装前,请确保你的机器上已经安装并配置好了JDK
; -
可以从官网直接下载对应安装包,此处因为实在
Windows
,所以下载压缩版即可,下载链接;
安装
-
再次 强调 :安装工作开始前,请确保 下载 步骤中的准备工作已经做好;
-
安装
-
将我们刚才下载好的压缩包解压到我们需要的位置,解压后文件如图;
-
然后进入
./elasticsearch/bin
目录下,用控制台运行如下命令,启动ElasticSearch
;./elasticsearch.bat
-
ElasticSearch
默认开启9200
端口,所以此时在浏览器访问localhost:9200
即可获取相关信息; -
要停止时,直接使用
Ctrl + C
终止elasticsearch.bat
的运行即可; -
注意 :默认情况下
ElastaicSearch
只能在本机访问,若要进行远程访问操作,则需要将./elasticsearch/config/elasticsearch.yml
文件中的network:host
注释去掉,修改它的值为0.0.0.0
,然后重新运行elaticsearch.bat
脚本即可远程访问;network.host: 0.0.0.0
-
概念基本
-
节点(
Node
)与集群(Cluster
)ElasticSearch
本质上来说是一个分布式的数据库,能够为多台服务器提供服务,每台服务器可以运行多个ElasticSearch
实例;而 一个实例 叫做 一个节点 ,而 一组节点 就组成了 一个集群; -
索引(
Index
)要进行检索,就会有索引。
ElasticSearch
会对所有字段进行索引,然后经过一系列处理后写入一个 反向索引(Inverted Index
) 。当我们进行检索时,就会直接访问该索引。因此,ElasticSearch
数据管理的顶层单位 叫做 索引 。注意 :每个索引(即数据库)的命名必须小写; -
文档(
Document
)索引中每条记录叫做 文档 ,多个文档则构成了一个 索引 ,每个文档都是使用 JSON 格式表示。虽然 同一个索引中的文档不强制要求结构相同 ,但为了确保检索效率,最好保持相同;
-
分组(
Type
)文档也可以进行分组,是 一种虚拟的逻辑分组,用于过滤文档 。不同分组应该有类似结构,即一个字段不能在这个组属于
int
类型,但在另一个组中却属于String
类型。