elasticsearch使用ansj分词器
目前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分词器的更多相关文章
- elasticsearch安装ansj分词器
1.概述 elasticsearch用于搜索引擎,需要设置一些分词器来优化索引.常用的有ik_max_word: 会将文本做最细粒度的拆分.ik_smart: 会做最粗粒度的拆分.ansj等. ...
- ElasticSearch最全分词器比较及使用方法
介绍:ElasticSearch 是一个基于 Lucene 的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口.Elasticsearch 是用 Java 开 ...
- 如何给Elasticsearch安装中文分词器IK
安装Elasticsearch安装中文分词器IK的步骤: 1. 停止elasticsearch 2.2的服务 2. 在以下地址下载对应的elasticsearch-analysis-ik插件安装包(版 ...
- 【自定义IK词典】Elasticsearch之中文分词器插件es-ik的自定义词库
Elasticsearch之中文分词器插件es-ik 针对一些特殊的词语在分词的时候也需要能够识别 有人会问,那么,例如: 如果我想根据自己的本家姓氏来查询,如zhouls,姓氏“周”. 如 ...
- Elasticsearch之中文分词器插件es-ik(博主推荐)
前提 什么是倒排索引? Elasticsearch之分词器的作用 Elasticsearch之分词器的工作流程 Elasticsearch之停用词 Elasticsearch之中文分词器 Elasti ...
- 沉淀再出发:ElasticSearch的中文分词器ik
沉淀再出发:ElasticSearch的中文分词器ik 一.前言 为什么要在elasticsearch中要使用ik这样的中文分词呢,那是因为es提供的分词是英文分词,对于中文的分词就做的非常不好了 ...
- Elasticsearch之中文分词器
前提 什么是倒排索引? Elasticsearch之分词器的作用 Elasticsearch之分词器的工作流程 Elasticsearch之停用词 Elasticsearch的中文分词器 1.单字分词 ...
- Elasticsearch之中文分词器插件es-ik的自定义热更新词库
不多说,直接上干货! 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 Java全栈大联盟 ...
- elasticsearch安装中文分词器插件smartcn
原文:http://blog.java1234.com/blog/articles/373.html elasticsearch安装中文分词器插件smartcn elasticsearch默认分词器比 ...
随机推荐
- 【luoguP1533】可怜的狗狗
题目链接 发现区间按左端点排序后右端点也是单调的,所以扫一遍就行了,用权值线段树维护第\(k\)大 #include<algorithm> #include<iostream> ...
- CSRF 跨站
目录 CSRF 跨站请求伪造 解决跨站伪造问题: csrf 相关的装饰器: csrf.js文件: CSRF 跨站请求伪造 CSRF全称为Cross-site request forgery,也被称为: ...
- Flask 中的模板语言 Jinja2 及 render_template 的深度用法
是时候开始写个前端了,Flask中默认的模板语言是Jinja2 现在我们来一步一步的学习一下 Jinja2 捎带手把 render_template 中留下的疑问解决一下 首先我们要在后端定义几个字符 ...
- chentos7 编译安装keepalived 1.4.5
准备工作: 下载源码包,官方网站 下载命令:wget https://www.keepalived.org/software/keepalived-1.4.5.tar.gz 解压tar包,命令: ta ...
- 数据对象如何定义为Java代码示例
想将数据保存为这样子: [{ "subject": { "code": "B123", "words": [{ &quo ...
- Atlassian JIRA 插件开发之三 创建
之前的都是准备,真正的插件是从这里开始的 参考:https://developer.atlassian.com/server/framework/atlassian-sdk/modify-the-pl ...
- Ansible13:Playbook循环语句
目录 循环语句 简介 loop关键字说明 在循环语句中注册变量 旧循环语句 1. with_items 2. with_nested 3. with_dict 4. with_fileglob 5. ...
- [转帖]在 Kubernetes 离线部署 KubeSphere
在 Kubernetes 离线部署 KubeSphere https://kubesphere.io/docs/v2.0/zh-CN/installation/install-ks-offline/ ...
- C++删除排序数组中的重复项
class Solution { public: int removeDuplicates(vector<int>& nums) { if (nums.empty()) { ; } ...
- TCMalloc - 基本流程
SizeMap tcmalloc通过classid将不同的小对象映射到不同的对象桶中,sizemap记录了一些对象大小和对象class的映射以及反向映射,除此之外,还记录了一些ThreadCache与 ...