#ElasticSearch笔记#利用ElasticSearch实现全文搜索(一)简单介绍及环境搭建

最近做的项目中用到了ElasticSearch来实现亿级数据的全文搜索与分析,整理归纳了一些关于ElasticSearch的实操笔记,现在就把这些笔记一一分享出来,希望对大家能有所帮助。

Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。

Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件;Elastic Stack 是一套适用于数据采集、扩充、存储、分析和可视化的免费开源工具。人们通常将 Elastic Stack 称为 ELK Stack(代指 Elasticsearch、Logstash 和 Kibana)

简单来说,利用ElasticSearch可以方便快捷地实现全文检索的功能,并且在大数据量的情况下,它的效率比一般的数据库要高很多。

具体到它的实现原理,这里就不过多赘述了,网上有很多分析的博客,大家自行搜索即可。下面我就来介绍一下es的环境搭建。

1、所需组件

实现基于ElasticSearch的全文搜索,除了需要部署核心的ElasticSearch服务,还需要安装如下的几个插件:

1.1、kibana:提供可视化的查询等操作;

1.2、elasticsearch-head-master:创建、管理索引

1.3、logStash:动态采集、转换、传输数据

1.4、ik分词器:提供中文分词功能

这里需要注意的是所有的插件都需要安装与ElasticSearch相同的版本,否则有可能无法使用。

2、下载链接

下面是es服务以及插件的下载链接:

2.1、es服务:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

2.2、kibana:https://www.elastic.co/cn/downloads/past-releases#kibana

2.3、elasticsearch-head-master:https://github.com/mobz/elasticsearch-head

2.4、logstash:https://www.elastic.co/cn/downloads/past-releases#logstash

2.5、ik分词器:https://github.com/medcl/elasticsearch-analysis-ik/releases

打包下载链接:https://pan.baidu.com/s/16P-ufZwzVnvhx3WpoGAntQ 提取码:bsa2

3、环境要求

ElasticSearch是基于java进行开发的,因此想要运行es,必须先配置java环境,网上有很多例子,这里就不一一赘述了;

elasticsearch-head-master是一个基于node的项目,因此npm、node也是必须要安装的。

4、部署运行

4.1、ElasticSearch、Kibana

ElasticSearch、Kibana的运行很简单,直接在bin下找到相应的elasticsearch.bat和kibana.bat,双击运行即可;

es运行成功:

#ElasticSearch笔记#利用ElasticSearch实现全文搜索(一)简单介绍及环境搭建_第1张图片

在浏览器中输入:localhost:8080,即可看到es服务的相关信息:

#ElasticSearch笔记#利用ElasticSearch实现全文搜索(一)简单介绍及环境搭建_第2张图片

Kibana运行成功:

#ElasticSearch笔记#利用ElasticSearch实现全文搜索(一)简单介绍及环境搭建_第3张图片

在浏览器中输入localhost:5601,即可看到kibana的主页

#ElasticSearch笔记#利用ElasticSearch实现全文搜索(一)简单介绍及环境搭建_第4张图片

4.2、elasticsearch-head-master

在命令行模式下,切换到elasticsearch-head-master,执行npm run start 启动;

注意:elasticsearch-head连接es时会出现跨域问题,需要在es中设置参数,解决跨域:

在es的config目录下打开el.yml,在文件末尾添加:

http.cors.enabled: true

http.cors.allow-origin: "*"

#ElasticSearch笔记#利用ElasticSearch实现全文搜索(一)简单介绍及环境搭建_第5张图片

#ElasticSearch笔记#利用ElasticSearch实现全文搜索(一)简单介绍及环境搭建_第6张图片

在浏览器中输入localhost:9100,即可看到es-head的主页:

#ElasticSearch笔记#利用ElasticSearch实现全文搜索(一)简单介绍及环境搭建_第7张图片

4.3、ik分词器:

ik分词器属于es的插件,而es的插件都是放置在plugin文件目录下的,因此我们需要在plugins下新建ik目录,将下载下来的ik压缩包中的所有文件拷贝到ik下:

#ElasticSearch笔记#利用ElasticSearch实现全文搜索(一)简单介绍及环境搭建_第8张图片

重启es,如果可以在控制台中看到如下内容,证明插件安装成功:

4.4、logstash:

logstash在这里主要用作数据传输,日后会专门写一篇博客来介绍如何实现将mysql的数据通过logstash导入到es中。

5、运行测试

好了,将这些插件运行完成后,我们可以先简单地通过es-head创建一个索引,并使用kibana的调试工具,获取一下索引信息:

在es-head中,选择索引->新建索引->弹出框中输入索引名称,看到下图的返回值,即代表索引创建成功:

#ElasticSearch笔记#利用ElasticSearch实现全文搜索(一)简单介绍及环境搭建_第9张图片

在kibana中查看索引信息:

点击左侧菜单栏的“扳手”图标,在左侧输入框中输入“GET /test/”,即可在右侧输出中看到数据库的基本信息,至此我们的环境就搭建完成啦!

#ElasticSearch笔记#利用ElasticSearch实现全文搜索(一)简单介绍及环境搭建_第10张图片

 

你可能感兴趣的:(ElasticSearch笔记,elasticsearch,java,数据库)