Elasticsearch集成HanLP分词器
1、通过git下载分词器代码。
连接如下:https://gitee.com/hualongdata/hanlp-ext
hanlp官网如下:http://hanlp.linrunsoft.com/
2、下载gradle,如果本机有,就可以略过此步骤。通过gradle官方网站下载,解压,配置环境即可。
官方安装配置说明:https://gradle.org/install/
3、按本地elasticsearch进行打包。
注意:通过git下载的源代码,除非与git配置的版本相同,否则可能会导致你elasticearch无法加载分词器。
修改git下载的源代码包中的elasticsearch版本。并通过gradle进行打包。会自动下载同步elasticsearch对应版本的jar包。
图1
4、按本地环境配置词类位置
图2
5、配置打包的插件所对应支持的elasticesarch的版本。(修改为:5.6.5,es安装的学习环境为5.6.5)
图3
6、完成上述配置把。gradle自动下载对应版本的包。可以通过如下方式进行版本查看。
图4
7、确认对应版本的包存在后,在工程所在目录下执行如下命令进行打包:
gradle -p es-plugin jar buildPluginZip
如下操作:在项目工程目录下,运行命令。
图5
8、打包完成后,会出现对应的安装包。
图6
9、在elasticsearch安装目录下执行插件安装命令。
./bin/elasticsearch-plugininstallfile:///Users/jiangyu/code/git/hanlp-ext/es-plugin/build/distributions/elasticsearch-hanlp-5.6.5.zip
图7
可以看到上面安装完成的提示。有个过程要选择y。
注:如果上向的命令出现如下报错。错误提示如下:
图8
上述错误提示,说明有两个相同的jar包存在。所以有提示,可以先在build.gradle配置中,找到打包的过程,增加一条path.contains("org.apache.logging.log4j")配置,这样打包时,这个jar包不会在被找到插件中。配置修改完成后。从新执行第7步『gradle -p es-plugin jar buildPluginZip』,进重新打包。再重新安装插件即可。
图9
(注:测试时,这个包不能去掉。会导致测试插件时,缺少log4j包)
10、给插件增加访问权限
图10
在系统的elasticsearch的安装目录下,找到config目录,通过vi jvm.options打开文件进行编辑。增加如下内容:用来指定安全配置文件。
图11
11、修改elasticsearch配置,在系统的elasticsearch的安装目录下,找到bin目录,通过vi elasticearch.in.sh打开文件进行编辑。增加如下内容:用来指定安全配置文件。
图12
12、在文件中增加指定的lib包。我们将插件要用到的Lib包路径引入到系统环境变量中。
图13
13、安装完成后可以使用如下命令进行验证。 analyzer,指定分词器为:"hanlp"
GET /_analyze
{
"analyzer" : "hanlp",
"text": ["记录就是用来打破的。你准备好向新的记录发起冲击了吗?"]
}
图14
图15
如果不指定分词器的话。所以返回结果,type没有说明词性,都是按单字返回结果。
GET /_analyze
{
"text": ["记录就是用来打破的。你准备好向新的记录发起冲击了吗?"]
}
图16
参考连接如下:
https://gitee.com/hualongdata/hanlp-ext/tree/master/es-plugin、
其它操作:
如果想移除或删除插件,可以执行如下命令
图17
转载自romil 的博客
相关推荐
Elasticsearch 内置了多种分词器,如标准分词器(Standard Analyzer)、关键词分词器(Keyword Analyzer)和中文分词器(Smart Chinese Analyzer)等。这些分词器可以根据不同的语言和应用场景进行定制,以确保搜索...
4. 在Elasticsearch的设置中配置分词器,指定使用hanlp插件。 5. 创建或更新索引时,使用这个分词器进行中文分词。 总的来说,"基于hanlp的elasticsearch分词插件"是提升Elasticsearch处理中文文本能力的有效解决...
在这个场景中,我们关注的是如何利用Java语言和HanLP分词库来实现从网络片段中抽取省份和城市这一特定需求。HanLP是由科大讯飞开发的一款高性能的自然语言处理工具包,它提供了丰富的中文分词、词性标注、命名实体...
Elasticsearch的HanLP中文插件,即`elasticsearch-analysis-hanlp`,是专门为Elasticsearch1.7.1设计的,集成HanLP1.2.4版本,提供了强大的中文处理功能。这个插件包括源代码,方便开发者根据实际需求调整软件版本并...
为了更好地支持中文处理,Elasticsearch提供了各种分析器,其中,`elasticsearch-analysis-hanlp-7.1.1.zip`就是针对中文分词的一套解决方案,它与Elasticsearch 7.1.1版本紧密集成,为中文搜索提供强大的支持。...
然而,对于中文内容的支持,ElasticSearch默认提供的分词器并不够强大,尤其是在处理复杂的中文文本时效果欠佳。为了改善这一状况,许多开发者选择集成第三方中文分词工具,如HanLP,来提高搜索质量。 #### 二、...
在Elasticsearch中集成HanLP,可以极大地提高中文文档的索引质量和查询效率。 在"elasticsearch-analysis-hanlp-7.5.1.zip"压缩包中,包含了以下关键组件: 1. **hanlp-portable-1.7.6.jar**:这是HanLP的核心库...
在Elasticsearch中进行自然语言处理,通常需要自定义分析器来实现特定的分词需求。分析器是Elasticsearch处理文本的核心组件,负责将原始文本转换为可以被索引和搜索的Token序列。对接HanLP,我们可以创建一个自定义...
将HanLP集成到Elasticsearch中,可以极大地提升中文文档的索引和搜索效率,尤其是对于那些需要进行复杂中文分析的场景。 **Elasticsearch 5.x与HanLP的结合** 在Elasticsearch 5.x版本中,为了支持HanLP插件,我们...
**IK Analyzer中文分词器详解** IK Analyzer是一个在IT领域广泛应用的开源项目,它专注于Java平台上的中文分词处理。中文分词是自然语言处理(NLP)中的基础任务,对于信息检索、文本挖掘、机器翻译等领域至关重要...
该压缩包中还包括了IK中文分词插件,这是一款专门为Elasticsearch设计的中文分词器,支持复杂的中文词汇和短语分析,提高了中文文本的索引质量和搜索效果。IK分词器在7.8.0版本中可能已经更新了词库和算法,提升了对...
和jieba分词、HanLP等其他流行的中文分词器相比,IKAnalyzer在Java环境下具有较高的性能和稳定性,但可能在灵活性和新词识别上略逊一筹。选择哪种分词器应根据项目需求和所用技术栈来决定。 总之,IKAnalyzer是一...
中文分词器如IK、ansj、jieba和hanLP用于将文本拆分为可搜索的词汇。选择哪种分词器取决于应用场景的具体需求。ansj中文分词器因其人名识别和新名词识别能力而受到青睐。 5. **ElasticSearch的崛起** ES是基于...
此外,如果需要处理大量文本,还可以考虑使用分布式分词服务,如Elasticsearch的IK分词插件,它提供了强大的全文搜索和分析能力。 总的来说,PHP中文分词虽然相对于其他语言有一定的挑战,但通过合理选用工具和算法...
- **IK**:IK Analyzer是一个开源的Java语言中文分词组件,主要用于Solr、Elasticsearch等搜索引擎,提供快速且稳定的分词效果。 3. **OCR(光学字符识别)**: - 虽然此压缩包未直接包含OCR软件或库,但分词词库...
不仅如此,ideaseg 还为两种流行的全文搜索引擎——ElasticSearch 和 OpenSearch 提供了便捷的集成插件,使得在这些平台上进行高效的中文信息检索成为可能。 1. **中文分词的重要性**:中文分词是中文文本处理的...
7. **多语言支持**:除了英文,Lucene.NET 还支持其他多种语言,包括中文,有对应的分词器插件可供使用,如IK Analyzer、HanLP、jieba分词等。 8. **分布式搜索**:通过 Solr 或 Elasticsearch(它们都是基于 ...
对于中文,它通常会结合IK Analyzer、HanLP或其他中文分词器来实现准确的分词,以适应中文的特殊语法和词汇特点。 6. **内存与磁盘存储**:NetLucene提供了内存索引和磁盘索引两种存储方式,可以根据应用场景选择...
同时,Lucene与Solr和Elasticsearch等搜索引擎框架结合,可以构建分布式、高性能的搜索引擎服务。 总结来说,解密搜索引擎涉及到爬虫技术、中文分词、文本分类和聚类等一系列复杂的过程。Java作为强大的开发语言,...