ES设置多个自定义分词器,每个分词器使用不同的词库

2023-05-16

ES中如何设置自定义分词器并且每个分词器使用自己定义的词库?
1.首先在ansj.cfg.yml中配置

在这里插入图片描述

然后在ansj-library.properties文件中添加词典放置路径。。ansj-library.properties和library文件放同一路径下

在这里插入图片描述

在这里插入图片描述

curl - XPUT‘ http: //localhost:9200/fencitest3?pretty’ -d
‘{“
settings”: {“
analysis”: {“
analyzer”: {“
my_xm_analyzer”: {“
type”: “custom”,
“tokenizer”: “xm_dic”
}
},
“tokenizer”: {“
xm_dic”: {“
type”: “dic_ansj”,
“dic”: “dicxm”,
“stop”: “stop”,
“ambiguity”: “ambiguity”,
“synonyms”: “synonyms”,
“isNameRecognition”: “true”,
“isNumRecognition”: true,
“isQuantifierRecognition”: true,
“isRealName”: false
}
}
}
},
“mappings”: {“
fencitest3”: {“
properties”: {“
title”: {“
type”: “string”,
“analyzer”: “my_xm_analyzer”
}
}
}
}
}’
curl -XGET ‘http://localhost:9200/fencitest3/_analyze?pretty&analyzer=my_xm_analyzer’ -d ‘网五河是一个名字’

在这里插入图片描述

如果要在一个es中自定义多个分词器应如下

 curl - XPUT 'http://localhost:9200/fencitest3?pretty' - d '{

  "settings": {
  "analysis": {
	
	"analyzer": {
		
		"my_xm_analyzer": {
		
			"type": "custom",
	
		"tokenizer": "xm_dic"

	},
				
		"my_bm_analyzer": {
		
			"type": "custom",
		
			"tokenizer": "bm_dic"		
		}			
},
	"tokenizer": {
		"xm_dic": {
			"type": "dic_ansj",
			"dic": "dicxm",
			"stop": "stop",
			"ambiguity": "ambiguity",
			"synonyms": "synonyms",
			"isNameRecognition": "true",
			"isNumRecognition": true,
			"isQuantifierRecognition": true,
			"isRealName": false
		},
		"bm_dic": {
			"type": "dic_ansj",
			"dic": "dicbm",
			"stop": "stop",
			"ambiguity": "ambiguity",
			"synonyms": "synonyms",
			"isNameRecognition": "true",
			"isNumRecognition": true,
			"isQuantifierRecognition": true,
			"isRealName": false
		}
	}
}

},
“mappings”: {
“fencitest3”: {
“properties”: {
“title”: {
“type”: “string”,
“analyzer”: “my_xm_analyzer”
},
“name”: {
“type”: “string”,
“analyzer”: “my_bm_analyzer”
}
}
}
}
}

curl - XPUT ‘http://localhost:9200/fencitest4?pretty’ - d
‘{
“settings”: {
“analysis”: {
“analyzer”: {
“my_xm_analyzer”: {
“type”: “custom”,
“tokenizer”: “xm_dic”
},
“my_bm_analyzer”: {
“type”: “custom”,
“tokenizer”: “bm_dic”
}
},
“tokenizer”: {
“xm_dic”: {
“type”: “dic_ansj”,
“dic”: “dicxm”,
“stop”: “stop”,
“ambiguity”: “ambiguity”,
“synonyms”: “synonyms”,
“isNameRecognition”: “true”,
“isNumRecognition”: true,
“isQuantifierRecognition”: true,
“isRealName”: false
},
“bm_dic”: {
“type”: “dic_ansj”,
“dic”: “dicbm”,
“stop”: “stop”,
“ambiguity”: “ambiguity”,
“synonyms”: “synonyms”,
“isNameRecognition”: “true”,
“isNumRecognition”: true,
“isQuantifierRecognition”: true,
“isRealName”: false
}
}
}
},
“mappings”: {
“fencitest4”: {
“properties”: {
“title”: {
“type”: “string”,
“analyzer”: “my_xm_analyzer”
},
“name”: {
“type”: “string”,
“analyzer”: “my_bm_analyzer”
}
}
}
}
}’

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ES设置多个自定义分词器,每个分词器使用不同的词库 的相关文章

随机推荐

  • docker导入导出文件

    导出容器中的文件到本地 xff1a docker cp 7f8b3e68734f app rtsp server tmp 导入本地文件到容器 xff1a docker cp tmp rtsp server 7f8b3e68734f app
  • centos7安装rocketMQ5

    二进制文件安装 wget https mirrors tuna tsinghua edu cn apache rocketmq 5 0 0 rocketmq all 5 0 0 bin release zip yum y install u
  • yum安装指定位置

    比如安装nginx到 opt下 xff1a yum c etc yum conf installroot 61 opt releasever 61 install nginx 比如安装桌面环境到 cjk vnc下 xff1a yum c e
  • ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (

    由于yum安装的MySQL修改了数据默认存储路径 xff0c 导致在连接数据库的时候找不到mysql sock 解决办法 xff08 把迁移后的mysql sock链接到默认路径下即可 xff09 xff1a ln s data mysql
  • ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this st

    yum新安装了一个MySQL5 7 41 不管执行什么sql都报错如标题 解决办法 xff1a 每次打开先执行一下密码重置即可 set password 61 password 39 123456 39 mysql8的解决办法 xff1a
  • 修改gitlab默认存储路径

    1 gitlab的目录存储目录是 var opt gitlab git data 2 创建新存储目录 mkdir p data gitlab data 3 修改配置文件 xff08 找到 git data dirs 参数对应的配置 xff0
  • mysql: [ERROR] mysql: unknown option

    前提条件 xff1a 1 开启用户远程连接权限 2 防火墙或安全组开通3306端口 如果上面两条都OK 那就是网络出口限制了 xff0c 换个热点或者其它单独网络试试
  • 【odroid-xu3】 ODROID-XU3硬件连接和烧写过程

    主要介绍硬件环境和系统的烧写 xff0c 有什么问题后面再补充吧 xff0c 实际上官方提供的工具向用户屏蔽了好多细节 开发板 xff0c 如果不自己来定制系统 xff0c 也就没有什么意思了 这个odroid xu3本身提供了丰富的资源和
  • ERROR 1805 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. The table is probabl

    执行grant命令报错如标题 解决办法 xff1a 升级MySQL xff0c 如下命令输入密码即可 mysql upgrade p
  • The JAVA_HOME environment variable is not defined correctly,

    linux安装maven查看版本时提示如标题 xff1a root 64 iZ2zeiyfk6wfvd1y5al5maZ middleware mvn version The JAVA HOME environment variable i
  • zabbix重启服务器后Service Unavailable

    查看错误日志 xff1a tail f var log httpd error log 日志提示不存在php目录下的zabbix sock文件 xff1b 再查看端口 xff1a 发现php的9000端口没起来 xff1b 解决办法 xff
  • linux安装anaconda3

    wget https repo anaconda com archive Anaconda3 2020 11 Linux x86 64 sh sh Anaconda3 2020 11 Linux x86 64 sh xff08 一路回车和y
  • linux安装zookeeper单点

    需要有jdk环境 安装java yum list java 1 8 yum install java 1 8 0 openjdk y 下载地址 http zookeeper apache org wget tar zvxf zookeepe
  • CAN总线网络的传输模式

    CAN总线网络的传输模式根据触发条件的不同 xff0c 在车身CAN网络中可分为事件型 周期性及混合型三种传输模式 xff1b 1 事件型传输模式 xff1a 随着类型或数据的转变及时发送的消息 此类型消息的好处是极少占用总线资源 xff0
  • matlab中m文件的命名规则

    matlab的m文件的命名规则 xff1a 1 文件名命名要用英文字符 xff0c 首字符不能是数字或下划线 xff1b 2 文件名不能与matlab的内部函数名相同 m文件名的命名尽量不要是简单的英文单词 xff0c 最好是由大小写英文
  • 2014去哪儿校招笔试

    共 3 43 2 43 2 个题 开发 前3 个必做 xff0c 其他选做 测试或web 开发 前 2 个必做 43 另外 2 个必做 1 字符串split 43 翻转 2 实现 访问历史记录 xff0c insert next pre 3
  • MicroStrategy笔试

    1 coding判定二叉树是否是有序二叉树 2 一个有序数组A xff08 buffer 足够大 xff09 xff0c 和一个有序数组 B xff0c 设计算法 xff0c merge 两个数组后有序 xff0c 不使用任何额外的内存空间
  • 欢迎使用CSDN-markdown编辑器

    能力培养 与team leader讨论 xff0c 大抵将能力培养分成三类 业务能力 解决具体反馈的问题 xff1b 总结通用的解决方案 xff1b 从根本上改善根本问题技术能力 设计架构的能力 xff0c 注重性能的改善泛化能力 明确问题
  • 一些5G整理

    鲁棒性 设计 相对于终端成本 xff0c 网络掉线的损失是行业客户是不可接受的 xff0c 所以行业终端鲁棒性设计很重要 这里的鲁棒性是指排除了前述的散热 环境可靠性等自身设计后面对其他突发未知情况的还能可靠应用的能力 业内对于鲁棒性的设计
  • ES设置多个自定义分词器,每个分词器使用不同的词库

    ES中如何设置自定义分词器并且每个分词器使用自己定义的词库 xff1f 1 首先在ansj cfg yml中配置 然后在ansj library properties文件中添加词典放置路径 ansj library properties和l