首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux安装ElasticSearch及基础配置

今天看了一下自己的博客网站,发现内容越来越多,搜索内容时无法全文检索,体验极差。

对于这个问题我最先想到的就是【ElasticSearch】数据库简称ES,全文检索这一块ES是目前做的最好的一个了。其次想到的就是MySQL自带的【n-gram模型】,这个模型也可以做全文检索,但这会导致数据库压力过大,只适合少量用户的场景,而且不支持多表全文检索,缺点实在太多,最终还是选择了ES来做全文检索。

n-gram模型

在讲解ES之前我们还是简单的介绍一下MySQL自带的n-gram模型的使用。

首先我们需要在表上面创建全文检索索引:

通过全文检索查询数据

全文检索还有一个全局配置项【ngram_token_size】,这个主要影响中文及英文的内容,如果全文检索主要内容为中文建议使用默认的【ngram_token_size=2】即可。如果是英文,可以在MySQL配置文件中改为1,【ngram_token_size=2】时英文内容搜索将无效。

MySQL全文检索基础使用就这么多了。

ElasticSearch数据库

这里以ElasticSearch最新版【8.8】为例,给大家讲讲最新版的安装、相关配置及基础使用。注意我们安装的是 ES8.8 版本,这个版本自带一个JVM环境,ES从7开始就自带了一个JVM环境,ES7之前的版本需要我们自己安装JVM环境

1 下载安装

我们可以直接进入官网下载源码,官网已经提供了yum及rpm安装教材,这个教材还是比较详细的,大家可以参照一下。我这里以源码的形式进行安装:

1.1 在/usr/local/目录下创建ElasticSearch的安装目录

1.2 进入ElasticSearch安装目录并下载源码

1.3 下载解压缩源码

1.4 进入项目根目录

解压缩后生成 elasticsearch-8.8.1 目录,这里面的就是elasticsearch源码了。

2 ElasticSearch基础配置

elastic的主要配置文件在根目录的【config】目录下,总共有以下三个配置文件:

elasticsearch.yml:主要是es相关配置

jvm.options:jvm相关配置

log4j2.properties:日志相关配置

3 启动ElasticSearch

最新版本的ES不允许我们直接使用root用户运行,所以在启动ES之前我们还需要创建一个ES使用的系统用户

给新用户赋予ES目录的权限:

除此之外,最新版本的ElasticSearch默认情况下启用了用户密码验证,作为初学者可以关闭验证。而且最新版启动后界面上没有显示监听的端口,我们可以自己在elasticsearch.yml文件中指定。

3.1 关闭用户密码验证及指定监听端口

3.2 启动ElasticSearch

上面说过elasticsearch 8 之后不允许以 root 用户启动,所以我们需要切换到之前创建的【es】用户下,如果已经切换到【es】用户可以忽略:

现在我们可以启动elasticsearch了:

如果需要以守护进程的方式启动,只需要加上 -d

如果启动后如果有【Unable to locate appender "rolling_old" for logger config "root"】错误信息,主要原因是我们没有修改 【config/elasticsearch.yml】文件中的日志目录,默认的日志目录不存在或者说当前启动ES 的用户没有权限。我们只要修改【path.logs】选项为【/usr/local/elastic/elasticsearch-8.8.1/logs】即可

启动后,我们就可以通过IP+端口的形式访问ElasticSearch了:

上面的连接打开后如下图所示,表示启动成功:

4 安装管理后台Kibana

ElasticSearch提供了类似phpMyAdmin一样的网页版本的管理后台。安装管理后台比较简单,回到【/usr/local/elastic】目录下,下载源码并解压缩,之后进入源码目录启动管理后台即可。具体步骤如下:

4.1 下载管理后台代码

4.2 解压缩并进入源码目录

4.3 kibana配置目录

kibana配置文件都在源码跟目录下的【config】文件夹下面,其中【kibana.yml】就是主要配置文件。

4.4 启动kibana

如果在root用户下,可以使用【bin/kibana --allow-root】命令启动,--allow-root参数允许使用root用户运行

启动成功之后我们就可以通过IP+端口的方式访问ElasticSearch管理后台,默认端口是5601,完整链接如下:

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O7S1gSAcGq4NJ_zSLD59kRAw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券