前言

  刚开始接触ElasticSearch的时候,版本才是2.3.4,短短的时间,现在都更新到5.0+版本了。分词和head插件好像用法也不一样了,本博客记录如何配置Elasticsearch的Head插件和使用ik分词并进行热更新。

实践记录

  首先安装ES5.3.2版本,之前安装了5.4版本,奈何分词版本只更新到5.3.2,于是又换回了5.3.2的版本,不过没关系。ik分词也会更新。由于Head插件不和以前的用法一样,所以,这里记录一下如何在5.0版本以后使用Head插件。

  可参考文章 http://blog.csdn.net/yx1214442120/article/details/55102298

  安装nodejs环境,安装grunt,安装好grunt之后,要在elasticsearch.yml中增加配置:

http.cors.enabled: true
http.cors.allow-origin: "*"

  其他配置修改,参考上文链接中的内容。我们先用grunt server命令运行head插件

  

  在浏览器中打开该地址可以看到相应的管理界面:

  

  安装IK分词很简单,从该地址(https://github.com/medcl/elasticsearch-analysis-ik/releases)下载相对应的版本即可,可以直接将下载后的源代码生成的jar包,放在plugins/ik/下。

  

  ik分词的配置中是可以远程加载词库的,此时新建一个web项目代表远程词库,例如我的词库地址为:

  

  修改ik分词的配置即可,配置文件路径:D:\ElasticSearch\plugins\ik\config

  当我们启动ES的时候会看到相应的日志记录,如下:

  

  这个远程词库,IK会定期检查,如果变化,会重新加载。由于汉字中是乱码,所以,我新加一个英文的词newword。可以看到,已经重新加载了远程词库。

  

  下面测试一下分词效果 http://localhost:9200/cnblogs1/_analyze?analyzer=ik_smart&text=侯亮平,远程词库中没有【侯亮平】,此时解析出是这样的:

  

  由于词库是延迟更新的,所以添加完词之后,不会立马变化。等一会,重新加载之后可以看分词效果:

  

  这样我们的词库热更新就完成啦。小伙伴们赶紧去试试吧。

ElasticSearch5.0+版本分词热更新实践记录的更多相关文章

  1. elasticsearch5.0版本的head安装

    elasticsearch5.0版本的head安装 elasticsearch5.0版本由于刚出不久,并且与2.0版本的差距较大.所以,目前大家对5.0的一些使用还有所陌生.这里先把关于head插件的 ...

  2. RDIFramework.NET平台代码生成器V3.0版本全新发布-更新于20160518(提供下载)

    最新版本请转到:RDIFramework.NET平台代码生成器V3.1版本全新发布-更新于2016-10-08(提供下载) RDIFramework.NET代码生成器V3.0版本修改了针对3.0版本的 ...

  3. SlickEdit 18.0 版本发布 同时更新破解文件

    18.0版本没有太大的惊喜 多了如下功能 Multiple Document Group Interface Repository Log Browser History Diff Support f ...

  4. ionic3 热更新发布步骤记录

    1.安装基本框架npm install -g ionic@latest npm install -g cordova ionic 验证版本号 ionic –version cordova -versi ...

  5. ElasticSearch5.0——IK词库加载

    Dictionary ConfigurationIKAnalyzer.cfg.xml can be located at {conf}/analysis-ik/config/IKAnalyzer.cf ...

  6. Elastic ik插件配置热更新功能

    ik github地址:https://github.com/medcl/elasticsearch-analysis-ik 官网说明: 热更新 IK 分词使用方法 目前该插件支持热更新 IK 分词, ...

  7. ReactNative 告别CodePush,自建热更新版本升级环境

    微软的CodePush热更新非常难用大家都知道,速度跟被墙了没什么区别. 另外一方面,我们不希望把代码放到别人的服务器.自己写接口更新总归感觉安全一点. so,就来自己搞个React-Native A ...

  8. ElasticStack系列之七 & IK自动热更新原理与实现

    一.热更新原理 elasticsearch开启加载外部词典功功能后,会每60s间隔进行刷新字典.具体原理代码如下所示: public void loadDic(HttpServletRequest r ...

  9. 【热更新IK词典】ElasticSearch IK 自动热更新原理与实现

    一.热更新原理 elasticsearch开启加载外部词典功功能后,会每60s间隔进行刷新字典.具体原理代码如下所示: public void loadDic(HttpServletRequest r ...

随机推荐

  1. Hadoop实战之三~ Hello World

    本文介绍的是在Ubuntu下安装用三台PC安装完成Hadoop集群并运行好第一个Hello World的过程,软硬件信息如下: Ubuntu:12.04 LTS Master: 1.5G RAM,奔腾 ...

  2. 简单的CRUD(二)

    一.重构简单的CRUD 1.JDBC工具类 1.因为在crud中都包含一些相同的代码所以可以提取出来,抽取代码重构为工具类. 2.将工具类设置为static静态类,方便调用,不需要new对象. pub ...

  3. spring_boot 配置

    配置pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  4. springboot aop使用介绍

    第一步:添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g ...

  5. C Primer Plus(第六版)中文版 中的错误1

    #include<stdio.h> #include<stdlib.h> #include<string.h> #define TSIZE 45 struct fi ...

  6. Tomcat添加用户

    在conf目录下tomcat-users.xml文件里添加如下代码: <role rolename="manager-gui"/> <user username= ...

  7. Java序列话和反序列化理解(New)

    public interface Serializable {} 该接口没有任何实现方法,是一种标志,instance of  Serializable 会判断object类型 一.序列化和反序列化的 ...

  8. mysql case when & concat & SUBSTRING_INDEX & not & having 使用的小case

    1. 代码 SELECT a.id, a.activity_name, ( CASE WHEN a.activity_end_time > now() THEN '参与中' ELSE ( CAS ...

  9. UOJ#288:基础数据结构练习题

    题面 UOJ Sol 玄学,不会势能分析 所以 维护区间最大最小值 把开根变成区间减法 如果最大值开根后的变化量和最小值的相等,就直接打个减法\(lazy\) # include <bits/s ...

  10. 前端学习之路之CSS (一)

    Infi-chu: http://www.cnblogs.com/Infi-chu/ 简介:    CSS 指层叠样式表 (Cascading Style Sheets)    样式定义如何显示 HT ...