ElasticSearch 6.8.1动态更新同义词(适配elasticsearch-analysis-dynamic-synonym)

本文介绍了如何将elasticsearch-analysis-dynamic-synonym插件适配到ElasticSearch 6.8.1版本。通过修改源码解决版本不匹配问题,详细阐述了解压、导入IDEA、修改POM文件、解决编译错误、打包、上传至服务器并修改相关配置的步骤。最后提到了同义词文件的格式和使用注意事项。
摘要由CSDN通过智能技术生成

动态更新同义词插件适配

非热更新的同义词配置
elasticsearch-analysis-dynamic-synonym 插件可以动态更新同义词,但github上只有5.1.1的版本了,不适配es6.8.1,通过修改源码适配6.8.1。
首先从github上下载5.1.1的源码和插件压缩包
github地址
在这里插入图片描述
下载后解压源码包,并导入idea
POM文件修改
修改如下两个版本号
在这里插入图片描述
源码修改
由于修改了导入的elasticsearch版本,源码有些地方会报错,修改DynamicSynonymFilter下的getLogger,并同时修改其它类里的getLogger报错的地方:

// public static Logger logger = ESLoggerFactory.getLogger("dynamic-synonym");

	// 6.8.1的es去掉了ELLoggerFactory,修改为Loggers
	public static Logger logger = Loggers.getLogger(String.class,"dynamic-synonym");

修改LocalSynonymFile下的getReader,新增一个newBufferedReader方法(6.8.1没有这个方法,从5.1.1的源码里把newBufferedReader方法给copy出来)

/**
	 * Opens the given url for reading returning a {@code BufferedReader} that may be
	 * used to read text from the URL in an efficient manner. Bytes from the
	 * file are decoded into characters using the specified charset.
	 */
	// copy from elasticsearch-5.1.1.jar source code
		public static BufferedReader newBufferedReader(URL url, Charset cs) throws IOException {
   
		CharsetDecoder decoder = cs.newDecoder();
		Reader reader = new InputStreamReader(url.openStream(), decoder);
		return new BufferedReader(reader
elasticsearch-analysis-dynamic-synonym-master.zip是一个压缩文件,其中包含用于Elasticsearch动态同义词分析插件。Elasticsearch是一个开源的分布式搜索引擎,用于快速检索和分析大量数据。 这个插件的作用是允许用户根据需要动态更新和管理同义词,以提高搜索的准确性和覆盖范围。在搜索引擎中,同义词是指具有相似意义的不同词语,如"汽车"和"车辆"。通过使用同义词分析插件,搜索引擎可以将搜索词与同义词匹配,从而拓宽搜索结果的范围。 要使用这个插件,首先需要将压缩文件解压缩到适当的目录中。然后,将插件添加到Elasticsearch的插件目录中,并重新启动Elasticsearch服务。一旦插件安装完成,就可以开始配置和使用动态同义词分析器。 在使用这个插件时,用户可以定义一个同义词文件,其中包含需要用于匹配的同义词对。插件将定期(可以通过设置来调整时间间隔)扫描这个同义词文件,并将其加载到内存中。然后,当用户执行搜索操作时,分析器将根据这些同义词对修改搜索词,并在搜索过程中考虑到它们。 动态同义词分析插件在大型搜索平台和电子商务领域中非常有用。它可以通过改进搜索引擎的召回率和精确度来提供更好的搜索体验。同义词动态管理也使得系统可以灵活应对新的同义词和词语变化。 总之,elasticsearch-analysis-dynamic-synonym-master.zip是一个用于Elasticsearch动态同义词分析插件,它可以帮助用户优化搜索结果,提高搜索准确性和广度,并灵活应对同义词和词语变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值