Windows7 安装ElasticSearch-6.x

第一步:本机如何安装Java8 环境,请自行baidu.

第二步:安装ElasticSearch

1、从官网下载ElasticSearch,https://www.elastic.co/downloads/elasticsearch,下载Zip包。

我下载的最新版本为:elasticsearch-6.3.2

2、解压到指定目录文件夹中,我这里指定的目录文件夹目录:D:\elasticsearch。

3、进入elasticsearch解压指定目录,进入bin 文件夹中(D:\elasticsearch\elasticsearch-6.3.2\bin),执行elasticsearch.bat

4、本机启动一个elasticsearch节点,启动后如图所示:

5、打开浏览器,访问(http://localhost:9200/),测试elasticsearch是否安装成功。

第三步:安装ElasticSearch-head插件

网上很多文章都说使用plugin插件指令去安装elasticSearch-head,我查看了下elasticsearch安装目录,里面存在plugin插件文件,但是在bin 目录中,不存在plugin指令。后面查看官网安装文档给出的意思如下:

elasticsearch6不支持直接通过plugin -install mobz/elasticsearch-head安装,并且elasticsearch-head需要在node环境下运行。

1、本机搭建nodejs 环境,自行baidu.

2、安装grunt

  • grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.x里的head插件就是通过grunt启动的。因此需要安装grunt.
  • 注意:路径切到nodejs安装目录下,[我安装在D:\node\node-v8.11.3]。
  • cnpm install -g grunt-cli
  • -g代表全局安装。安装路径为D:\node\node-v8.11.3\node_modules,并且自动加入PATH变量。
  • 查看版本号grunt -version

 

3、下载head插件

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

4、配置head

由于head的代码还是2.6版本的,直接执行有很多限制,比如无法跨机器访问。因此需要用户修改两个地方:

① c:/elasticsearch-head-master/Gruntfile.js,增加hostname属性,设置为*,如图

②修改连接地址:C:\elasticsearch-head-master/_site/app.js,将表红线地址改为es服务器地址。

修改一下es使用的参数。编辑C:/elasticsearch-5.3.0/config/config/elasticsearch.yml:

 
  1. cluster.name: es-5.2-test #换个集群的名字,免得跟别人的集群混在一起

  2.  
  3. node.name: node-es-101 #换个节点名字

  4.  
  5. network.host: 0.0.0.0 #修改一下ES的监听地址,这样别的机器也可以访问

  6. http.port: 9200 #端口号,默认就好

  7.  
  8.  
  9. # 增加新的参数,这样head插件可以访问es

  10. http.cors.enabled: true

  11. http.cors.allow-origin: "*"

  12.  
  13. @注意,设置参数的时候:后面要有空格!

5、安装head

其实下载elasticsearch-head的时候,github的链接上有介绍安装方式,如下:

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

  2. cd elasticsearch-head

  3. npm install

  4. npm run start

  5. open http://localhost:9100/

进入到我们下载好的elasticsearch-head包里,然后执行npm install

安装完成之后npm run startgrunt server

浏览器访问 http://localhost:9100/

到此,Elasticsearch和ElasticSearch-head已经装好了。

第四步:ElasticSearch集成分词插件。

全文搜索对于中文分词很重要,所以需要ik插件分词支持中文分词 
英文使用空格很容易分词,中文需要根据词意进行分词,需要【字典】支持

插件项目:https://github.com/medcl/elasticsearch-analysis-ik

未安装前【分词测试】 
postman

post   http://localhost:9200/_analyze
{
    "text":"活动在广东省汕头市澄海区溪南镇举行吗"
    ,"analyzer":"standard"
}
//或者直接
{
    "text":"活动在广东省汕头市澄海区溪南镇举行吗"
}
//测试英文
{
    "text":"I am a good man"
}

安装方法,任意一种: 
1、下载 zip 包后,【直接】解压到elasticsearch-6.2.1\plugins\目录下,最后路径类似:elasticsearch-6.2.1\plugins\elasticsearch\plugin-descriptor.properties 
zip 包地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

2、es >v5.5.1 (看es安装目录,elasticsearch-6.2.1\bin\elasticsearch-plugin.bat 有没有)

//命令提示符, 下载安装,可能比较慢
C:\Users\test>D:\java\elasticsearch-6.2.1\bin\elasticsearch-plugin.bat install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.1/elasticsearch-analysis-ik-6.2.1.zip

重启es

查看插件是否安装

get  http://localhost:9200/_cat/plugins
//显示,表示安装
jbLBIzO analysis-ik 6.2.1 

安装ik分词插件后,【分词测试】

post   http://localhost:9200/_analyze
{
    "text":"活动在广东省汕头市澄海区溪南镇举行吗"
    ,"analyzer":"ik_max_word"
}

【注意analyzer的名称】(在源码的org/elasticsearch/plugin/analysis/ik/AnalysisIkPlugin.java#getAnalyzers注册的map名字)

public Map<String, AnalysisModule.AnalysisProvider<AnalyzerProvider<? extends Analyzer>>> getAnalyzers() {
        Map<String, AnalysisModule.AnalysisProvider<AnalyzerProvider<? extends Analyzer>>> extra = new HashMap<>();

        extra.put("ik_smart", IkAnalyzerProvider::getIkSmartAnalyzerProvider);
        extra.put("ik_max_word", IkAnalyzerProvider::getIkAnalyzerProvider);

        return extra;
    }

Elasticsearch analyzers文档 
https://www.elastic.co/guide/en/elasticsearch/reference/5.5/analysis-analyzers.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值