admin管理员组

文章数量:1637856

开发环境选择软件版本应提前考虑正式系统环境,否则会产生软件与服务器环境不兼容的问题出现,ElasticSearch与环境支持一览:支持一览表 | Elastic

安装软件下载地址:

Elasticsearch全文检索引擎:Past Releases of Elastic Stack Software | Elastic ik分词器的下载地址:Releases · infinilabs/analysis-ik · GitHub kibana可视化工具下载地址:Past Releases of Elastic Stack Software | Elastic

注意:版本必须一样,否则运行不起来!!

一、Elasticsearch7.17.18安装、配置

1)下载压缩包

2)创建目录 ’ D:\ElasticSerach ',解压 ‘ elasticsearch-7.17.22.zip ’ 至此目录;再创建backupdataslogs目录。

3)配置环境变量

因为新版的ElasicSearch已经弃用了JAVA_HOME环境变量,转而使用了ES_JAVA_HOME环境变量,并且在新版的安装包中已经提供了Java运行环境,因此我们需要增加ES_JAVA_HOME这个环境变量,不然在后续配置中可能会出现“warning: usage of JAVA_HOME is deprecated,useES_JAVA_HOME”的警告信息。

4)修改配置文件

jvm.options修改

默认 JVM 4g,根据服务器内存配置,修改参数。注意:-Xms -Xmx 参数值需要一样,尽可能后期不做修改,可能会引起报错!

elasticsearch.yml 修改(首次则需新加)

#设置快照存储地址
path.repo: ["D:\\ElasticSerach\\elasticsearch-7.17.18\\backup"] 
#数据存放路径(可不设置,默认就是如下地址)
path.data: D:\\ElasticSerach\\elasticsearch-7.17.18\\datas 
#日志存放路径
path.logs: D:\\ElasticSerach\\elasticsearch-7.17.18\\logs 
#节点名称
node.name: node-1
#节点列表
discovery.seed_hosts: ["192.168.0.18"]
#初始化时master节点的选举列表
cluster.initial_master_nodes: ["node-1"]
#集群名称
cluster.name: es-main
#对外提供服务的端口
http.port: 9200
#节点间通信使用的 TCP 端口号(默认为 9300),集群环境需要开放端口
transport.port: 9300
#启动地址,如果不配置,只能本地访问
network.host: 0.0.0.0
#跨域支持
http.cors.enabled: true
#跨域访问允许的域名地址
http.cors.allow-origin: "*"

elasticsearch-env修改

5)权限配置

绕过本节,会产生安全问题,访问无密码要求,直接访问。在elasticsearch.yml下添加下面代码。

启动Elasticsearch

启动成功。

进入bin目录打开cmd,执行elasticsearch-setup-passwords interactive,会要求输入多个账号的密码,记录清楚。

设置7个表的密码,建议设置成一样的,这里都设置为: wz123456

6)配置后台服务

在bin目录,打开cmd,执行:elasticsearch-service.bat install,打开服务可以看到添加成功,右键属性设置开机自启。

7)启动服务

bin目录双击elasticsearch.bat或者服务启动,访问地址:http://127.0.0.1:9200,输入elastic/wz123456

服务启动:

输入账号密码elastic/wz123456:

登录成功

注意:如果启动失败,可以进入logs目录查找报错日志。

当es重启出现报错Authentication of [elastic] was terminated by realm [reserved] - failed to authenticate user [elastic],重新执行密码设置操作,见5)权限配置步骤。

无密码形式进入

当es重启出错,出现Authentication of [elastic] was terminated by realm [reserved] - failed to authenticate user [elastic]等错误信息,则需关闭密码登录,再次重启服务即可。

首先,在/config/elsticsearch.yml

里将这两项设置注释掉,确定能够看到,以无密码形式登录

再次启动,即可以无密码的形式查看http:127.0.0.1:9200

二、ik7.17.18安装配置

进入安装plugins文件夹,创建analysis-ik文件夹,解压elasticsearch-analysis-ik-7.17.22.zip,重启可用。(找不到elasticsearch匹配版本,需要拉代码自己打包)

注意:the plugin name对应的是analysis-ik,所以上一级是analysis-ik,然后重启服务。

三、安装ES插件Elasticsearch-head

1)在Chrome浏览器地址栏中输入:chrome://extensions/

2)打开Chrome扩展程序的开发者模式

3)下载head插件:GitHub - mobz/elasticsearch-head at v5.0.0

然后解压

进入目录后输入cmd进入命令行, 输入npm install,然后执行npm run start

显示未连接可能出现几方面的问题:

1)跨域问题

前期由于配置过跨域问题,可以直接点击基本查询测试,可以看到权限验证失败,则问题源自验证问题

2)验证问题

由于前期设置了账户密码验证,所以直接打开会报验证失败问题,把权限关闭

重启Elasticsearch.bat和Kibana.bat等服务以及npm run start后,打开http://127.0.0.1:9100即可连接成功。

三、Kibana 7.17.18安装配置

解压kibana-7.17.22-windows-x86_64.zipD:\tools\ElasticSerach目录完成安装。

kibana.yml配置修改

这里我将kibana-7.17.22-windows-x86_64下面的文件直接放在ElasticSerach目录下,点击启动kibana.bat.

注意:Kibana文件也可以放在源文件下运行。

1)无密码形式进入

当看到Kibana is now available,打开http:127.0.0.1:5601。注意:此时是以无密码的形式进入,配置项中不设置密码。

点击左上角后再点击management下的开发工具,进行测试。

2)有密码形式进入

当Elasticsearch配置了密码,就在kibana.yml配置密码.

然后启动kibana.bat后,在浏览器中进入http:127.0.0.1:5601输入账号密码登录进入。

四、DSL语法
# 查询
GET /索引库名/_search
{ 
 "query": {
   "match_all": {} 
 },
  "sort": [
    {
      "字段名": "desc" // 排序 keyword 类型、数值类型、地理坐标类型、日期类型.
    }
  ],
 "from": 1,  // 第几条数据开始
 "size":2,  // 展示多数跳数据
 "_source": ["字段名", "字段名", "字段名","字段名"]  // 展示字段
}


# 单字段模糊收索
GET /索引库名/_search
{
 "query": {
   "match": {
      "字段名":"2023"
    }
  }
}


# 多字段模糊收索
GET /索引库名/_search
{
 "query": {
   "multi_match": {
      "query":"歌",
      "fields": ["字段名", "字段名"]
    }
  }
}


# term精确查询,一般是查找 keyword、数值、日期、boolean 等类型字段。
GET /索引库名/_search
{
  "query": {
    "term": {
      "字段名": {
        "value": "202106012110"
      }
    }
  }
}
 
# 或者无效查询
GET /索引库名/_search
{
  "query": {
    "term": {
      "字段名": "大"
    }
  }
}


# range查询区间,根据数值的范围查询,可以是数值、日期的范围。
GET /索引库名/_search
{
  "query": {
    "range": {
      "字段名": {
        "gte": 1, 
        "lte": 3  
      }
    }
  }
}


# 排序.  可以排序的字段类型有(不分词):keyword 类型、数值类型、地理坐标类型、日期类型.
GET /索引库名/_search
{
  "query": {
    "match_all": {} //搜索内容
  },
  "sort": [
    {
      "字段名": "desc"  // 排序字段和排序方式ASC、DESC
    }
  ]
}

# DELETE /songs

增加数据测试

打开elasticsearch head进行刷新

数据浏览处增加account数据信息

查询数据

修改数据

删除数据

其他更多指令信息教程参见官网:Quick start guide | Elasticsearch Guide [8.15] | Elastic

五、集群搭建

主要分布于多台服务器,本章主要测单机,集群搭建待续。

本文标签: 系统安装数据库