Centos8下ElasticSearch及ElasticSearch-head的安装与配置

导航

  • 与关系型数据库对应关系
  • RPM方式安装Elasticsearch
    • 安装
    • 启动服务
    • 测试服务
    • 跨域访问设置
  • 安装nodejs环境
    • 下载并安装
    • 配置npm和node命令全局生效
    • 查看nodejs是否安装成功
  • 安装图形客户端elasticsearch-head
    • GitHub托管地址
    • 修改license参数
    • 安装
    • 访问
  • 安装分词器
    • GitHub地址
    • Releases地址
  • 搜索测试
    • 创建索引
    • 创建mapping
    • 插入测试数据
    • 验证分词查询
    • 使用图形客户端搜索

与关系型数据库对应关系

Relational DB Elasticsearch
数据库(database) 索引 index
表(tables) 索引 index(原为 types)
行(rows) 文档 documents
字段(columns) fields
约束(schema) 映射mapping

RPM方式安装Elasticsearch

下载地址
Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第1张图片

安装

rpm -Uvh elasticsearch-7.12.0-x86_64.rpm

Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第2张图片

启动服务

systemctl enable elasticsearch

systemctl start elasticsearch
#查看es状态
systemctl status elasticsearch

Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第3张图片

测试服务

如果是elasticsearch8.+

vim /etc/elasticsearch/elasticsearch.yml

xpack.security.enabled默认为true,此时改成false

xpack.security.enabled: false

Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第4张图片
保存后重启

curl "http://localhost:9200"

Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第5张图片

跨域访问设置

使用图形工具head连接时需要添加增加跨域访问参数

vim /etc/elasticsearch/elasticsearch.yml

添加及修改以下配置

http.host: 0.0.0.0

network.host: 0.0.0.0

discovery.seed_hosts: ["0.0.0.0", "[::1]"]

#启用跨域支持
http.cors.enabled: true
http.cors.allow-origin: "*"

Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第6张图片
重启服务

systemctl restart elasticsearch

现在可以实现远程连接了
Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第7张图片

安装nodejs环境

下载地址
Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第8张图片

下载并安装

wget https://nodejs.org/dist/v14.16.1/node-v14.16.1-linux-x64.tar.xz

Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第9张图片
解压到指定目录

tar -xvf node-v14.16.1-linux-x64.tar.xz

mv ./node-v14.16.1-linux-x64 /usr/local/nodejs

配置npm和node命令全局生效

ln -s /usr/local/nodejs/bin/npm /usr/local/bin/
ln -s /usr/local/nodejs/bin/node /usr/local/bin/

查看nodejs是否安装成功

node -v
npm -v

在这里插入图片描述

安装图形客户端elasticsearch-head

GitHub托管地址

克隆项目到本地

git clone https://github.com/mobz/elasticsearch-head.git

Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第10张图片

修改license参数

进入根目录

cd elasticsearch-head/
vim package.json
"license": "Apache-2.0"

Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第11张图片

安装

npm install

警告信息可以忽略
Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第12张图片
前台运行

npm run start

在这里插入图片描述
后台运行(推荐)

nohup npm run start &

在这里插入图片描述

访问

默认端口为9100

http://ip地址:9100

修改服务地址点击连接,如下状态代表连接成功
Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第13张图片

安装分词器

GitHub地址

Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第14张图片

Releases地址

Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第15张图片

下载对应的版本

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.0/elasticsearch-analysis-ik-7.12.0.zip

在这里插入图片描述
解压分词器到创建的目录中

mkdir /usr/share/elasticsearch/plugins/ik

unzip -o elasticsearch-analysis-ik-7.12.0.zip -d /usr/share/elasticsearch/plugins/ik

Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第16张图片
查看文件

ll /usr/share/elasticsearch/plugins/ik

Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第17张图片
重启服务

systemctl restart elasticsearch

搜索测试

创建索引

index是索引名,可自定义

curl -XPUT http://localhost:9200/index

创建mapping

index为指定的索引名

curl -XPOST http://localhost:9200/index/_mapping -H 'Content-Type:application/json' -d'
{
        "properties": {
            "content": {
                "type": "text",
                "analyzer": "ik_max_word",
                "search_analyzer": "ik_smart"
            }
        }

}'

官方对于ik_max_word 和 ik_smart 的解释
Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第18张图片

插入测试数据

curl -XPOST http://localhost:9200/index/_create/1 -H 'Content-Type:application/json' -d'{"content":"美国留给伊拉克的是个烂摊子吗"}'
curl -XPOST http://localhost:9200/index/_create/2 -H 'Content-Type:application/json' -d'{"content":"公安部:各地校车将享最高路权"}'
curl -XPOST http://localhost:9200/index/_create/3 -H 'Content-Type:application/json' -d'{"content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"}'
curl -XPOST http://localhost:9200/index/_create/4 -H 'Content-Type:application/json' -d'{"content":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"}'

验证分词查询

以“中国领事馆”为关键字

curl -XPOST http://localhost:9200/index/_search  -H 'Content-Type:application/json' -d'
{
    "query" : { "match" : { "content" : "中国领事馆" }},
    "highlight" : {
        "pre_tags" : ["", ""],
        "post_tags" : ["", ""],
        "fields" : {
            "content" : {}
        }
    }
}'

Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第19张图片

使用图形客户端搜索

{
  "query": {
    "match": {
      "content": "中国领事馆"
    }
  },
  "highlight": {
    "pre_tags": [
      "",
      ""
    ],
    "post_tags": [
      "",
      ""
    ],
    "fields": {
      "content": {}
    }
  }
}

红框中为分词器匹配到的数据
Centos8下ElasticSearch及ElasticSearch-head的安装与配置_第20张图片

你可能感兴趣的:(ElasticSearch,elasticsearch,搜索引擎,big,data)