目前elasticsearch的版本已经更新到7.0以上了,不过由于客户需要5.2.2版本的elasticsearch,所以还是需要安装的,并且安装上ansj分词器。在部署ES的时候,采用容器的方式进行部署。因此需要考虑到映射端口等问题。

关于docker下部署es的步骤就简单的写一下:

1、首先是从官方拉去5.2.2的镜像下来。https://hub.docker.com/_/elasticsearch?tab=tags&page=4

使用命令:

docker pull elasticsearch:5.2.2

2、启动镜像,官方的启动命令是:

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:5.2.2

3、然后访问即可,curl http://IP:9200显示“you know ,for search”表示安装成功。

不过建议修改一下elasticsearch.yml的配置文件,例如:

http.host: 0.0.0.0
# Uncomment the following lines for a production cluster deployment
transport.host: 0.0.0.0
# discovery.zen.minimum_master_nodes: 1

建议打开这两项,http.host表示打开9200的服务端口监听,transport.host表示打开9300的服务端口监听。

上面基本就已经安装好了,接下来就是安装分词器了。

1、首先是去下载分词器,然后进入容器去安装。进入容器后默认的当前目录是/usr/share/elasticsearch目录,此目录下是所有的ES包的基本配置。

各个版本的分词器下载地址:https://github.com/NLPchina/elasticsearch-analysis-ansj

安装分词器的步骤是()注意进入容器内执行此命令:

./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-analysis-ansj/releases/download/v5.2.2/elasticsearch-analysis-ansj-5.2.2.0-release.zip

安装好之后,就可以在plugins目录下看到ansj分词器的配置文件了。

2、接下来是重启一下ES容器,命令:docker restart es_name

3、开始激活ansj分词器功能。首先是激活索引功能,使用命令:

curl -XPUT 'localhost:9200/index'

4、激活索引功能之后关闭索引

curl -XPOST 'localhost:9200/_all/_open'

如果不执行第3步骤而是直接执行此步骤的话,会发现报错。主要是索引的功能没有激活。

5、加载默认的分词器

curl -XPUT 'http://localhost:9200/_all/_settings?preserve_existing=true' -d '{
"index.analysis.analyzer.default.type" : "index_ansj",
"index.analysis.analyzer.default_search.type" : "query_ansj"
}'

6、最后再次打开索引

curl -XPOST 'localhost:9200/_all/_open'

这样子整个ansj插件就已经安装成功了。可以直接使用了。

elasticsearch使用ansj分词器的更多相关文章

  1. elasticsearch安装ansj分词器

    1.概述    elasticsearch用于搜索引擎,需要设置一些分词器来优化索引.常用的有ik_max_word: 会将文本做最细粒度的拆分.ik_smart: 会做最粗粒度的拆分.ansj等. ...

  2. ElasticSearch最全分词器比较及使用方法

    介绍:ElasticSearch 是一个基于 Lucene 的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口.Elasticsearch 是用 Java 开 ...

  3. 如何给Elasticsearch安装中文分词器IK

    安装Elasticsearch安装中文分词器IK的步骤: 1. 停止elasticsearch 2.2的服务 2. 在以下地址下载对应的elasticsearch-analysis-ik插件安装包(版 ...

  4. 【自定义IK词典】Elasticsearch之中文分词器插件es-ik的自定义词库

    Elasticsearch之中文分词器插件es-ik 针对一些特殊的词语在分词的时候也需要能够识别 有人会问,那么,例如: 如果我想根据自己的本家姓氏来查询,如zhouls,姓氏“周”.      如 ...

  5. Elasticsearch之中文分词器插件es-ik(博主推荐)

    前提 什么是倒排索引? Elasticsearch之分词器的作用 Elasticsearch之分词器的工作流程 Elasticsearch之停用词 Elasticsearch之中文分词器 Elasti ...

  6. 沉淀再出发:ElasticSearch的中文分词器ik

    沉淀再出发:ElasticSearch的中文分词器ik 一.前言   为什么要在elasticsearch中要使用ik这样的中文分词呢,那是因为es提供的分词是英文分词,对于中文的分词就做的非常不好了 ...

  7. Elasticsearch之中文分词器

    前提 什么是倒排索引? Elasticsearch之分词器的作用 Elasticsearch之分词器的工作流程 Elasticsearch之停用词 Elasticsearch的中文分词器 1.单字分词 ...

  8. Elasticsearch之中文分词器插件es-ik的自定义热更新词库

    不多说,直接上干货! 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟       ...

  9. elasticsearch安装中文分词器插件smartcn

    原文:http://blog.java1234.com/blog/articles/373.html elasticsearch安装中文分词器插件smartcn elasticsearch默认分词器比 ...

随机推荐

  1. 【luoguP1533】可怜的狗狗

    题目链接 发现区间按左端点排序后右端点也是单调的,所以扫一遍就行了,用权值线段树维护第\(k\)大 #include<algorithm> #include<iostream> ...

  2. CSRF 跨站

    目录 CSRF 跨站请求伪造 解决跨站伪造问题: csrf 相关的装饰器: csrf.js文件: CSRF 跨站请求伪造 CSRF全称为Cross-site request forgery,也被称为: ...

  3. Flask 中的模板语言 Jinja2 及 render_template 的深度用法

    是时候开始写个前端了,Flask中默认的模板语言是Jinja2 现在我们来一步一步的学习一下 Jinja2 捎带手把 render_template 中留下的疑问解决一下 首先我们要在后端定义几个字符 ...

  4. chentos7 编译安装keepalived 1.4.5

    准备工作: 下载源码包,官方网站 下载命令:wget https://www.keepalived.org/software/keepalived-1.4.5.tar.gz 解压tar包,命令: ta ...

  5. 数据对象如何定义为Java代码示例

    想将数据保存为这样子: [{ "subject": { "code": "B123", "words": [{ &quo ...

  6. Atlassian JIRA 插件开发之三 创建

    之前的都是准备,真正的插件是从这里开始的 参考:https://developer.atlassian.com/server/framework/atlassian-sdk/modify-the-pl ...

  7. Ansible13:Playbook循环语句

    目录 循环语句 简介 loop关键字说明 在循环语句中注册变量 旧循环语句 1. with_items 2. with_nested 3. with_dict 4. with_fileglob 5. ...

  8. [转帖]在 Kubernetes 离线部署 KubeSphere

    在 Kubernetes 离线部署 KubeSphere https://kubesphere.io/docs/v2.0/zh-CN/installation/install-ks-offline/ ...

  9. C++删除排序数组中的重复项

    class Solution { public: int removeDuplicates(vector<int>& nums) { if (nums.empty()) { ; } ...

  10. TCMalloc - 基本流程

    SizeMap tcmalloc通过classid将不同的小对象映射到不同的对象桶中,sizemap记录了一些对象大小和对象class的映射以及反向映射,除此之外,还记录了一些ThreadCache与 ...