美文网首页Linux
ElasticSearch(一) - 介绍以及普通方式安装

ElasticSearch(一) - 介绍以及普通方式安装

作者: 秃头猿猿 | 来源:发表于2020-04-23 10:09 被阅读0次

1.elasticsearch介绍

当我们去接触一些电商网站的时候,那么我们肯定都会接触到电商网站的搜索,早期的搜素基本上都是采用在数据库里面利用模糊查询去做。这种情况只适用于简单的毕业设计或者说一些课设,但是如果是正常的项目,那么肯定采用的是全文检索技术。尤其是在当今这种数据量比较大的项目环境下,掌握全文检索你想相当于掌握了核心科技。

全文检索技术目前主流有两种:

  • 一种是基于Lucenesolr
  • 一种是基于Luceneelasticsearch

这两种方式各有各的好处和缺点,目前稍微流行一点的应该是elasticsearch

image-20200318153312864.png

2.安装elasticsearch

我们把elasticsearch安装在Liunx里面,因为在实际开发过程中,我们也是把这种安装在Linux中

elasticsearch为了安装考虑,不允许安装在root用户下

我的linux配置如下:

image-20200318115707139.png

我安装的是Ubuntu的服务器版,同时我在服务器里面已经安装好了ssh服务,可以使用远程去访问

2.1 上传压缩包并且解压

image-20200318124620277-1584951749712.png

先上传到ubuntu系统上


image-20200318125629475-1584951784912.png

解压命令:

tar -zxvf elasticsearch-6.2.4.tar.gz

重命名一下:

mv elasticsearch-6.2.4/ elasticsearch
image-20200318124756607-1584951797538.png

因为这个全文检索技术,也是基于java的,所以需要安装java环境

2.2 目录详解

image-20200318130310070.png

2.3 修改配置

既然修修改配置,那么我们肯定是到config目录下面去修改一下两个配置文件

image-20200318145518621.png

2.3.1 jvm.options

因为elasticsearch是基于java语言编写的,所以他默认的java配置需要修改一下

  • 编辑文件

    vim jvm.options
    
image-20200318145831159.png

发现默认占用内存为1G,太庞大了,所以我们调小一点

  • 修改占用内存

    -Xms512m
    -Xmx512m
    

2.3.2 elasticsearch.yml

vim elasticsearch.yml
  • 修改数据存储目录和日志目录

    path.data: /home/wangzh/elasticsearch/data # 数据目录位置
    path.logs: /home/wangzh/elasticsearch/logs # 日志目录位置
    
image-20200318150444416.png

我们把data和logs目录修改指向elasticsearch的安装目录。但是这data目录并不存在,因此我们需要创建出来

进入安装目录创建data目录

mkdir data
image-20200318150717324.png
  • 修改可以访问的ip

    默认情况下,elasticsearch只允许自己本机ip访问,这明显是不合理的,所以需要修改

    image-20200318150924193.png

    修改如下:

    network.host: 0.0.0.0
    

    这代表允许任何ip可以访问到

3.运行elasticsearch

运行bin目录下的elasticsearch

image-20200318151646834.png
./bin/elasticsearch

启动后发现报错如下:

[3]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

vm.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量

修改/etc/systcl.conf,添加下面内容

vm.max_map_count=655360

然后执行命令

sudo sysctl -p

再次启动就正常了

[图片上传失败...(image-43bc70-1587607759046)]

我们发现启动的端口有两个,一个是9200,一个是9300

  • 9200 端口是单机版端口
  • 9300 端口是集群版端口

通过浏览器访问9200端口,效果如下:


image-20200318152812295.png

4.安装Kibana

因为elasticsearch并没有给我们提供可视化界面,所以我们需要安装一个可是化界面,那么这个就是Kibana

4.1 什么是Kibana

image-20200318153349298.png

Kibana是一个基于Node.jsElasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。

而且还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习Elasticsearch的语法。

4.2 安装

因为Kibana依赖于Node.js,我们一般是在windows系统里面去做测试,所以我们安装在windows即可

4.2.1 安装node

安装node.js就不详细描述了,你可以去node.js官网下载一个node并安装好就可以了。

4.2.2 安装kibana

image-20200318154612308.png

两个版本保持一致。解压即安装。

4.3 配置并运行

4.3.1 配置

进入安装目录下的config目录,修改kibana.yml文件:

修改elasticsearch服务器的地址:

elasticsearch.url: http://192.168.1.104:9200
image-20200318155423732.png

4.3.2 运行

点击bin目录下的kibana.bat,即可运行

image-20200318155541938.png
运行效果 image-20200318155607840.png

通过浏览器去访问http://localhost:5601,效果如下:

image-20200318155655484.png

4.3.4 控制台

我们可以通过控制台,去帮助我们学习elasticsearch

image-20200318160146478.png

5.安装IK分词器

5.1 什么是分词器

从一串文本中切分出一个一个的词条,并对每个词条进行标准化,例如我们去百度搜索一句话时,并不是那着这句话去进行搜索

而是先将这句话分成一个一个的词语或者单词,然后再去搜索,如图:


image-20200318161145382.png

先将杰普最帅的是谁这句话拆分成一个一个的词语,然后根据这一个个的词语再去搜索

5.2 分词器类型

elasticsearch中内置了很多分词器,具体如下:

Standard Analyzer 默认的分词器,将词汇单元转换成小写形式,并去除停用词和标点符号,支持中文采用的方法为单字切分.

Simple Analyzer 首先会通过非字母字符来分割文本信息,然后将词汇单元统一为小写形式.该分析器会去掉数字类型的字符.

Whitespace Analyzer 仅仅是去除空格,对字符没有小写化,不支持中文;并且不对生成的词汇单元进行其他的标准化处.

Language Analyzer 提供了30多种常见语言的分词器,不支持中文。

以上所有分词器,并不是适用于中文去进行分词,因此我们需要安装一个对中文支持友好的分词器,那就是IK分词器

IK分词器的版本要安装ES的版本一致

5.3 安装

  • 先将分词器上传到ubuntu
image-20200318162209412.png image-20200318162315753.png
  • 将分词器解压到elasticsearch目录下面的plugins目录下

    使用unzip解压,如果没有这个命令请先安装

    sudo apt-get install unzip
    

    解压

    cd ~
    unzip elasticsearch-analysis-ik-6.2.4.zip -d  ./elasticsearch/plugins/
    

    重启elasticsearch

    image-20200318162803646.png

5.4 测试

先不用管熟不熟,先来简单测试一下

在控制台输入以下命令:

POST _analyze
{
  "analyzer":"ik_max_word",
  "text":"我是中国人"
}

响应结果:

{
  "tokens": [
    {
      "token": "我",
      "start_offset": 0,
      "end_offset": 1,
      "type": "CN_CHAR",
      "position": 0
    },
    {
      "token": "是",
      "start_offset": 1,
      "end_offset": 2,
      "type": "CN_CHAR",
      "position": 1
    },
    {
      "token": "中国人",
      "start_offset": 2,
      "end_offset": 5,
      "type": "CN_WORD",
      "position": 2
    },
    {
      "token": "中国",
      "start_offset": 2,
      "end_offset": 4,
      "type": "CN_WORD",
      "position": 3
    },
    {
      "token": "国人",
      "start_offset": 3,
      "end_offset": 5,
      "type": "CN_WORD",
      "position": 4
    }
  ]
}
image-20200318163219237.png
目前只是单机版,后面会单独开章节搭建各种常用软件集群

相关文章

网友评论

    本文标题:ElasticSearch(一) - 介绍以及普通方式安装

    本文链接:https://www.haomeiwen.com/subject/yacoihtx.html