前言

最近项目里为了加快后台系统的搜索速度,决定接入开源的搜索引擎,于是大家都在对比较常用的几个开源做技术调研,比如Lucene+盘龙分词Solr,还有本篇要介绍的Elasticsearch。话不多提,直接进入主题。


一、安装JDK

  1. 由于Elasticsearch v5.4.2需要Java 8或者更新版本的java,我们可以去Oracle官网下载,也可以选择使用OpenJDK
  2. 设置Java环境变量
    1. JAVA_HOME = C:\Program Files (x86)\Java\jdk1.8.0_131
    2. CLASSPATH = .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
    3. PATH = 原PATH+;%JAVA_HOME%\bin;
  3. 验证Java环境是否安装成功,以及环境变量是否设置正确。在cmd窗口执行javac命令,若结果如下图,则说明Java环境已经安装正确。

二、安装Elasticsearch

  1. 下载。从官网下载Elasticsearch zip4.入2.zip
  2. 解压文件。将下载的zip文件解压到C:\elasticsearch\elasticsearch-5.4.2/,目录结构如下图:

  3. 启动Elasticsearch 。打开cmd窗口,进入C:\elasticsearch\elasticsearch-5.4.2\bin,执行脚本elasticsearch.bat,若结果如下图,则Elasticsearch 启动成功。

  4. 验证Elasticsearch是否安装成功。如上图,Elasticsearch 默认使用的是9200端口,接下来在浏览器中打开链接http://localhost:9200,返回如下结果则说明安装成功。
{
"name" : "KPIXVlC",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "uCSF389FQISmiuK3__BSHA",
"version" : {
"number" : "5.4.2",
"build_hash" : "929b078",
"build_date" : "2017-06-15T02:29:28.122Z",
"build_snapshot" : false,
"lucene_version" : "6.5.1"
},
"tagline" : "You Know, for Search"
}

三、安装Elasticsearch-Head

如下图,Elasticsearch Head在5.x版本中已经不再以插件的形式存在,而是作为了一个独立的web了。

  1. 安装
// 从GitHug下载Head
git clone git://github.com/mobz/elasticsearch-head.git
// 进入下载好的目录
cd elasticsearch-head
// 还原nmp包
npm install
// 运行
npm run start

  1. 验证。在浏览器中打开链接http://localhost:9100,如出现下图,则说明安装成功

四、安装ik分词器

  1. 下载。ik分词链接GitHub。由于ik分词器要求与Elasticsearch的版本高度匹配,所以我们需要下载相应的版本为5.4.2
git clone --branch v5.4.2 https://github.com/medcl/elasticsearch-analysis-ik.git



2. 打包。在下载好的文件夹中执行命令

mvn package



3. 解压。在Elasticsearch安装目录下的文件夹plugins中新建文件夹ik,将上一步中生成的elasticsearch-analysis-ik-5.4.2.zip解压到这里,如下图:

  1. 检验ik安装结果。重启Elasticsearch,在Sense插件中输入如下内容
GET default-index/_analyze?analyzer=ik_smart&pretty=true
{
"text":"我的家乡是武汉,我爱美丽的江城"
}

如安装正常,结果如下

{
"tokens": [
{
"token": "我",
"start_offset": 0,
"end_offset": 1,
"type": "CN_CHAR",
"position": 0
},
{
"token": "家乡",
"start_offset": 2,
"end_offset": 4,
"type": "CN_WORD",
"position": 1
},
{
"token": "武汉",
"start_offset": 5,
"end_offset": 7,
"type": "CN_WORD",
"position": 2
},
{
"token": "我",
"start_offset": 8,
"end_offset": 9,
"type": "CN_CHAR",
"position": 3
},
{
"token": "爱美丽",
"start_offset": 9,
"end_offset": 12,
"type": "CN_WORD",
"position": 4
},
{
"token": "江城",
"start_offset": 13,
"end_offset": 15,
"type": "CN_WORD",
"position": 5
}
]
}

到此Elasticsearch,Elasticsearch Head, ik分词器都已经安装成功。

注意:安装ik分词器过程中发现与老版本2.x.x有两点不同:

  1. 不需要修改Elasticsearch配置文件。Elasticsearch的配置文件路径为elasticsearch.yml,在文件最后加入如下内容:index.analysis.analyzer.ik.type : "ik"
  2. 测试ik分词是否安装成功时,使用的是ik_smart而不是ik。查看文档,现在支持ik_smartik_max_word

在Windows上安装Elasticsearch v5.4.2的更多相关文章

  1. 在Windows上安装Elasticsearch 5.0

    在windows上安装Elasticsearch Elasticsearch可以使用.zip软件包安装在Windows上. elasticsearch-service.bat命令,它将设置Elasti ...

  2. 在Windows上安装Elasticsearch 5.x

    在Windows上安装Elasticsearch 5.x 自己想学习Elasticsearch,但是又不懂Linux,按照同事给的Linux安装教程,也是搞不明白,于是想先在Windows上安装一下入 ...

  3. Elasticsearch在windows上安装好了之后怎么使用?

    windows 10上安装Elasticsearch过程记录 一.安装和配置Java JDK1.下载:http://download.oracle.com/otn ... 4.exe2.设置环境变量: ...

  4. ElasticSearch | windows 上安装ES

    Elastatic需要java JAVA8 环境,确保安装好环境 在windows上安装ES还是比较简单的, 1.首先在官网上下载zip,地址 https://www.elastic.co/downl ...

  5. ES1:Windows下安装ElasticSearch

    ElasticSearch(简称ES)是一个基于Lucene的分布式全文搜索服务器,本随笔演示在Windows安装ElasticSearch和用于管理ES的Head插件. ElasticSearch官 ...

  6. ElasticSearch入门 第一篇:Windows下安装ElasticSearch

    这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  7. ElasticSearch入门 :Windows下安装ElasticSearch

    这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  8. Windows上安装ElasticSearch7的IK分词器

    首先IK分词器和ES版本一定要严格对应,下面是版本对照表 IK分词器下载地址 https://github.com/medcl/elasticsearch-analysis-ik/releases 我 ...

  9. Windows上安装ElasticSearch7

    安装JDK1.8(包括)以上版本 安装ElasticSearch ElasticSearch下载地址: https://www.elastic.co/downloads/elasticsearch 双 ...

随机推荐

  1. BAYESIAN STATISTICS AND CLINICAL TRIAL CONCLUSIONS: WHY THE OPTIMSE STUDY SHOULD BE CONSIDERED POSITIVE(转)

    Statistical approaches to randomised controlled trial analysis The statistical approach used in the ...

  2. js常用的4种截取字符串方法

    平常经常把这几个api的参数记混了,于是打算记录下来,当不确定的时候在拿出来翻翻: 在做项目的时候,经常会需要截取字符串,所以常用的方法有slice().substr().substring().ma ...

  3. 一天搞定CSS:表单(form)--20

    1.表单标签 2.input标签属性与取值 代码演示 <!DOCTYPE html> <html> <head> <meta charset="UT ...

  4. 基于谱聚类的三维网格分割算法(Spectral Clustering)

    谱聚类(Spectral Clustering)是一种广泛使用的数据聚类算法,[Liu et al. 2004]基于谱聚类算法首次提出了一种三维网格分割方法.该方法首先构建一个相似矩阵用于记录网格上相 ...

  5. 容器常用操作 - 每天5分钟玩转 Docker 容器技术(25)

    前面讨论了如何运行容器,本节学习容器的其他常用操作. stop/start/restart 容器 通过 docker stop 可以停止运行的容器. 容器在 docker host 中实际上是一个进程 ...

  6. nodejs 开发指南 书中小项目 代码

    最近 在学习node.js 先看了下语法 ,然后就看这个开发指南感觉书还是很有用,但是代码太旧了,网上也没有最新的,所以就自己查着前人的痕迹和自己修改,现在可以跑了. https://github.c ...

  7. Page directive must not have multiple occurrences of pageencoding

    一个jsp文件中不能同时出现两个 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #932192 } pageE ...

  8. java基础之IO篇

    IO流 在计算机中的流是有方向的即为IO流,分为输入流和输出流,他们的方向都是以服务的方向为主,向服务器中发送指令等等就是输出流,服务器给出的反应等等,我们都说为输出流. 字节流 字符流 输入流 In ...

  9. php访问数据库$result=$mysql_qurey('')判断是否是空值

    在访问数据库后得到result值,前提是$relust为true,就是没有发生错误连接情况,但是查询的条件由于不满足导致返回值为空,此时判断就不能用!来决定是否有返回数据了,经过书籍搜索,用resul ...

  10. 配置lnmp

    ===================准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state –state NEW ...