• Windows安装Elasticsearch8.x保姆级教程


    Elasticsearch

    下载安装

    1. 下载:点击https://www.elastic.co/cn/downloads/elasticsearch --> 点击View past releases -->找到8.11.1版本的ES --->点击下载---目前最新版的Spring Data ES最高支持8.11.1版本

    elasticsearchJDK版本:https://www.elastic.co/cn/support/matrix#matrix_jvm

    1. 解压:解压下载的压缩包并修改为elasticsearch8111

    普通配置

    1. 进入:WIN键搜索并点击 编辑系统环境变量 --> 点击环境变量 --->点击系统变量下新建按钮

    参考:https://blog.csdn.net/lanlinjnc/article/details/135845689

    1. 输入:变量名输入ES_HOME,变量值为ES的安装目录(bin目录的上级)
    2. 添加:双击PATH变量--->点击新建—>输入%ES_HOME%\bin

    注:这样配置了之后,就不需要先以在终端打开的方式打开bin目录,然后才能输入命令了

    1. 输入:变量名输入ES_JAVA_HOME,变量值为JDK目录的路径(与bin目录同级)
    2. 乱码:进入config目录--->打开jvm.options 文件—>末尾添加-Dfile.encoding=GBK

    注:-Dfile.encoding=GBK解决启动日志乱码问题

    1. 配置:进入config目录--->打开elasticsearch.yml 文件,做如下修改
    # 设置集群的名字
    cluster.name: es
    
    # 设置主节点名字
    node.name: esNodeOne
    
    #设置索引数据的存储路径
    path.data: ./data    #换成自己的路径
    #设置日志文件的存储路径
    path.logs: ./logs    #换成自己的路径
    
    # 设置ES监听地址,默认为192.168.0.1; 0.0.0.0: 任意机器都可访问
    network.host: 0.0.0.0
    
    #设置对外服务的http端口,默认为9200
    http.port: 9200
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    添加分词

    1. ik分词器:中文分词器,可根据定义的字典对域进行分词,并支持用户配置自己的字典,是一个插件包,可以用插件的方式将它接入到ES

    ElasticSearch 内置了很多分词器,但这些分词器对中文并不友好

    1. 下载ikhttps://github.com/infinilabs/analysis-ik/releases?page=1

    选择与下载的es版本一致的下载

    1. 解压改名:解压下载的安装包,然后将解压所得的安装包改成ik

    2. 添加目录:将ik目录移入plugins目录

    3. 安装验证: 终端输入命令elasticsearch-plugin list

    4. es中分词器主要有两种情况会被使用:
      ○ 插入文档时:将text类型的字段做分词然后插入倒排索引
      ○ 查询时:先对要查询的text类型的输入做分词,再去倒排索引搜索

    5. es中分词器的选择策略:
      ○ 插入文档/索引时:会检查字段是否定义analyzer属性,优先使用定义的,否则使用es预设的
      ○ 查询时:会检查被搜索的字段是否定义了search_analyzer,优先使用定义的,否则使用es预设的
      analyzer search_analyzer 是作用到字段上面的,每个字段可以设置不同的索引分词器和查询分词器

    6. 设置ES使用:ik分词器包括ik_smart最少切分和ik_max_word最细切分这两种模式,用于analyzer属性和search_analyzer属性

    ## 创建一个 text_index 索引
    PUT /test_index
     
    ## 设置test_index索引的mapping
    ## 将 索引中的content字段设置为 
    ## 插入数据建立索引时使用 ik_max_word 模式进行分词
    ## 对该字段进行搜索时,使用 ik_smart模式进行搜索词的分词
     
    ## 两种分词器使用的最佳实践是:索引时用ik_max_word,在搜索时用ik_smart。
    ## 即:索引时最大化的将文章内容分词,搜索时更精确的搜索到想要的结果。
     
    POST /test_index/_mapping
    {
        "properties":{
            "content":{
                "type":"text",
                "analyzer":"ik_max_word",
                "search_analyzer":"ik_smart"
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    1. Javahttps://blog.csdn.net/weixin_44107140/article/details/131750412
    2. 资源:https://www.bilibili.com/video/BV1b8411Z7w5/?p=8

    服务配置

    1. 安装:终端输入命令elasticsearch-service.bat install``---安装 Elasticsearch 服务
      但先运行服务,安装命令执行完成后,到服务中就可以看到安装好的 Elasticsearch 服务

    2. 卸载:elasticsearch-service.bat remove``---删除安装的Elasticsearch服务,若启动则停止服务

    3. 启动:elasticsearch-service.bat start``---启动Elasticsearch服务,如果已安装

    4. 停止:elasticsearch-service.bat stop``---停止Elasticsearch服务,如果启动

    5. 管理:elasticsearch-service.bat manager``---启动GUI来管理已安装的服务

    运行服务

    1. 验证:终端输入命令elasticsearch.bat,如下图(记录了密码等信息)则成功

    默认账号:用户名elastic,密码自行修改

    CA证书密钥信息:d022bf6a91be10e6215eb0540491b5be6d899919a65091b69c9d3f40a130822e

    1. 随机生成密码:终端输入命令elasticsearch-reset-password -u elastic``---一定要先运行ES

    注:New value字段的值就是新的密码,用于忘记密码的情况

    1. 指定账号密码:终端输入命令elasticsearch-reset-password --username elastic -i``---一定要先运行ES
      注:密码至少要六个字符,新密码liuxiansheng
    2. 访问:浏览器输入https://localhost:9200/,账号就是之前提到的,如下则启动成功

    安全配置

    1. 配置:进入config目录--->打开elasticsearch.yml 文件---运行服务自动生成下列配置
    2. xpack.security.enabled:
      ● 默认true:必须使用账号连接ES
      ● 若为false:必须使用http://localhost:9200/访问ES服务+启动Kibana服务会失败+使用Spring Data ESelasticsearch-java依赖,不需要使用账号连接,但必须使用HTTP连接
    3. xpack.security.http.ssl.enabled
      ● 默认true:必须使用https://localhost:9200/访问ES服务无论使用Spring Data ES还是elasticsearch-java依赖,都需要使用账号连接+必须使用HTTPS连接
      ● 若为false:必须使用http://localhost:9200/访问ES服务+启动Kibana服务会失败+使用Spring Data ESelasticsearch-java依赖,都需要使用账号连接,但必须使用HTTP连接
    # 设置是否开启xpack的安全功能,默认true/开启---以xpack开头的配置项都会开启
    xpack.security.enabled: false
    # 设置是否开启节点的安全注册功能---ChatGPT询问xpack.security.enrollment
    xpack.security.enrollment.enabled: true
    
    # 配置X-Pack安全功能中 与 HTTP 通信相关的 SSL 设置
    xpack.security.http.ssl:
      # 设置是否开启 HTTP API 客户端连接加密功能---如 Kibana  
      enabled: true
      keystore.path: certs/http.p12
      
    # Enable encryption and mutual authentication between cluster nodes
    xpack.security.transport.ssl:
      # 设置是否启用集群节点之间的加密和相互身份验证功能
      enabled: true
      verification_mode: certificate
      keystore.path: certs/transport.p12
      truststore.path: certs/transport.p12`
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    添加用户

    1. 添加:终端输入elasticsearch-users useradd liu,设置密码为liuxiansheng``---必须先运行ES

    elasticsearch不能使用root用户启动,所以我们创建一个新的用户

    1. 权限:终端输入elasticsearch-users roles -a superuser liu,设置为超级管理员
    2. 权限:终端输入elasticsearch-users roles -a kibana_system liu,设置为kibana用户

    界面可视

    1. 下载:点击https://github.com/1340691923/ElasticView/releases/tag/v1.8.7``-->选择win
  • 相关阅读:
    bean的依赖注入
    【中小学科技竞赛】哪些比赛较有含金量值得参加?如何获取赛事信息?
    《uni-app》表单组件-Input组件
    apt 阿里源
    工业机器人模拟题
    【特征选择】基于教与学算法实现二进制特征选择问题附matlab代码
    公司为什么要使用OKR,目的是什么?
    图像采集和特征提取的技术研究
    黑马JVM总结(三十六)
    JAVA生成ORC格式文件
  • 原文地址:https://blog.csdn.net/qq_50864152/article/details/136724528