乐优商城(十四)Elasticsearch学习笔记

目录

一、Elasticsearch介绍和安装

1.1 简介

1.2 安装和配置

1.2.1 jvm.options

1.2.2 elasticsearch.yml

1.2.3 修改绑定的ip

1.3 运行

1.3.1 内核过低

1.3.2 文件权限不够

1.3.3 线程数不够

1.3.4 进程虚拟内存

1.3.5 重启

1.4 安装Kibana

1.4.1 配置

1.4.2 运行

1.4.3 控制台

1.5 安装ik分词器

1.6 API


一、Elasticsearch介绍和安装

用户访问首页时,一般都会直接搜索来寻找自己想要购买的商品。而商品的数量非常多,而且分类繁杂。如果能正确的显示出用户想要的商品,并进行合理的过滤,尽快促成交易,是搜索系统要研究的核心。面对这样复杂的搜索业务和数据量,使用传统数据库搜索就显得力不从心,一般都会使用全文检索技术,例如:Elasticsearch。

1.1 简介

Elasticsearch是一个分布式的RESTful风格的搜索和数据分析引擎。Elasticsearch具备以下特点:

  • 分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心)

  • Restful风格,一切API都遵循Rest原则,容易上手

  • 近实时搜索,数据更新在Elasticsearch中几乎是完全同步的。

1.2 安装和配置

在linux下安装Elasticsearch。

将压缩包上传,然后解压缩:tar -zxvf elasticsearch-6.4.2.tar.gz

如果解压缩发生错误:tar: 归档文件中异常的 EOF,需要重新下载安装包。

进入config目录:cd config

需要修改的配置文件有两个:

1.2.1 jvm.options

Elasticsearch基于Lucene的,而Lucene底层是java实现,因此我们需要配置jvm参数。

编辑jvm.options:

vim jvm.options

默认配置如下:

-Xms1g
-Xmx1g

内存占用太多了,我们调小一些:

-Xms512m
-Xmx512m

1.2.2 elasticsearch.yml

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

path.data: /home/leyou/elasticsearch/data # 数据目录位置
path.logs: /home/leyou/elasticsearch/logs # 日志目录位置

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

进入elasticsearch的根目录,然后创建:

mkdir data
mkdir logs

1.2.3 修改绑定的ip

network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问

默认只允许本机访问,修改为0.0.0.0后则可以远程访问

1.3 运行

进入elasticsearch/bin目录,可以看到下面的执行文件:

然后输入命令: ./elasticsearch

会发生错误,下面就常见的错误进行总结。

1.3.1 内核过低

Elasticsearch的插件要求centos的linux内核至少3.5以上版本 ,修改elasticsearch.yml文件,在最下面添加如下配置:

bootstrap.system_call_filter: false

然后重启。

1.3.2 文件权限不够

[1]: max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

切换为root用户,然后修改配置文件:vim /etc/security/limits.conf

添加下面内容:

* soft nofile 65536

* hard nofile 131072

* soft nproc 4096

* hard nproc 4096

1.3.3 线程数不够

[1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

继续配置

打开文件夹:cd /etc/security/limits.d

修改里面以conf结尾的文件

* soft nproc 1024

改为

* soft nproc 4096

1.3.4 进程虚拟内存

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

 m.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量,继续修改配置文件:

vim /etc/sysctl.conf 

添加下面内容:

vm.max_map_count=655360

然后执行命令:

sysctl -p

1.3.5 重启

可以看到绑定了两个端口:

  • 9300:集群节点间通讯接口

  • 9200:客户端访问接口

我们在浏览器中访问:http://192.168.19.121:9200/

1.4 安装Kibana

Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。而且还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示。

在windows下使用kibana,与elasticsearch的版本保持一致。

1.4.1 配置

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

修改elasticsearch服务器的地址:

elasticsearch.url: "http://192.168.19.121:9200/"

1.4.2 运行

进入安装目录下的bin目录:

双击运行:

发现kibana的监听端口是5601 ,访问http://127.0.0.1:5601

1.4.3 控制台

选择左侧的DevTools菜单,即可进入控制台页面:

在页面右侧,我们就可以输入请求,访问Elasticsearch了。

1.5 安装ik分词器

将分词器解压到Elasticsearch目录的plugins目录中 ,

解压命令:unzip elasticsearch-analysis-ik-6.3.0.zip -d ik-analyzer

然后重启elasticsearch。

测试:

在kibana控制台输入下面的请求:

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
    }
  ]
}

1.6 API

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
elasticsearch 学习笔记包括以下内容: 一、Elasticsearch概述: - Elasticsearch是一种开源的分布式搜索和分析引擎,可以用于快速搜索、分析和存储大量的结构化和非结构化数据。 - Elasticsearch与Solr相比有一些区别,包括用户、开发和贡献者社区的规模和成熟度等方面。 二、Elasticsearch安装: 1. 下载Elasticsearch,可以从官方网站或华为云镜像下载。 2. 安装Elasticsearch。 三、安装head插件: - head插件是一个可视化的管理界面,可以方便地管理和监控Elasticsearch集群。 四、安装Kibana: 1. Kibana是一个开源的数据可视化工具,用于展示和分析Elasticsearch中的数据。 2. 下载Kibana并安装。 3. 启动Kibana并进行访问测试。 4. 可选的汉化操作。 五、ES核心概念理解: - 学习ES的核心概念,包括索引、文档、映射、查询等。 以上是elasticsearch学习笔记的主要内容,希望对你有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Elasticsearch 学习笔记(上)](https://blog.csdn.net/m0_52691962/article/details/127064350)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值