Elasticsearch学习笔记6: 同义词搜索实现

本文介绍了如何在Elasticsearch中实现同义词搜索功能,通过自定义分析器,结合char_filter、tokenizer和filter,特别是使用自定义filter处理tokenizer输出的词组,添加同义词。创建名为ik_sync_smart的分析器,并配置synonyms.txt同义词词典,确保索引和搜索时能正确处理同义词。设置索引数据mapping,指定搜索字段的analyzer即可完成设置。
摘要由CSDN通过智能技术生成

es的同义词搜索功能通过自定义分析器实现

我们知道 一个 分析器 就是在一个包里面组合了三种函数的一个包装器, 三种函数按照顺序被执行:

  1. char_filter 如:emoticons, html_strip等
  2. tokenizer 如:standard, ik_smart等
  3. filter 如:lowercase,english_stop等

char_filter 用于分词前对原搜索的句子进行处理 tokenizer 用于将搜索的句子分成多个词组 filter 用于处理tokenizer输出的词组,比如删除某些词,修改某些词,增加某些词

实现同义词搜索的原理是,自定义filter,处理tokenizer输出的待搜索词组时,取出其中词的同义词,加入到待搜索的词组中。

创建分析器:

PUT /synonym
{
	"settings": {
		"analysis": {
			&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值