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)等。这些分词器可以根据不同的语言和应用场景进行定制,以确保搜索...
此外,Elasticsearch-analysis-hanlp插件的设计,使得在Elasticsearch中处理中文数据变得更加方便,因为插件的接口与Elasticsearch本身的分词器接口保持一致,开发者可以直接使用Elasticsearch的语法和工具进行操作...
4. 在Elasticsearch的设置中配置分词器,指定使用hanlp插件。 5. 创建或更新索引时,使用这个分词器进行中文分词。 总的来说,"基于hanlp的elasticsearch分词插件"是提升Elasticsearch处理中文文本能力的有效解决...
elasticsearch-analysis-hanlp-8.15.0是一款专门针对Elasticsearch 8.15.0版本的中文分词插件,它是由作者精心打包并集成HanLP中文处理库的成果。HanLP是一个高效的自然语言处理工具库,它能够对中文文本进行深度...
Elasticsearch的HanLP中文插件,即`elasticsearch-analysis-hanlp`,是专门为Elasticsearch1.7.1设计的,集成HanLP1.2.4版本,提供了强大的中文处理功能。这个插件包括源代码,方便开发者根据实际需求调整软件版本并...
该Elasticsearch分词器的设计和实现是针对中文分词能力不足的问题,通过集成HanLP包,利用Java语言的开发便利性,以及通过Maven和Git等工具的辅助,实现了一个高效的中文分词插件。此分词器能够帮助Elasticsearch...
该插件基于Java语言开发,目的是在Elasticsearch中集成Hanlp分词技术,以增强对中文文本的分析处理能力。 Hanlp是一款优秀的中文分词系统,支持多种分词模式并具有很高的准确性。通过将Hanlp集成到Elasticsearch中...
这个插件是专门针对中文分词所开发的,它将HanLP分词算法集成到Elasticsearch中,提供中文文本的深度处理能力。HanLP是一种高效的自然语言处理工具包,对中文文本的分词、词性标注、命名实体识别等方面都表现出了极...
为了更好地支持中文处理,Elasticsearch提供了各种分析器,其中,`elasticsearch-analysis-hanlp-7.1.1.zip`就是针对中文分词的一套解决方案,它与Elasticsearch 7.1.1版本紧密集成,为中文搜索提供强大的支持。...
然而,对于中文内容的支持,ElasticSearch默认提供的分词器并不够强大,尤其是在处理复杂的中文文本时效果欠佳。为了改善这一状况,许多开发者选择集成第三方中文分词工具,如HanLP,来提高搜索质量。 #### 二、...
安装后,用户可以在Elasticsearch的索引配置中直接使用HanLP作为分词器。这种方式不仅节约了开发者的时间,也降低了技术门槛,让更多的用户能够享受到HanLP强大的中文处理能力。 除了提供中文分词之外,elastic...
HanLP分词器插件是专门为Elasticsearch设计的,它利用HanLP进行中文分词、词性标注、命名实体识别等自然语言处理任务。安装了HanLP插件之后,Elasticsearch就能更好地理解和分析中文数据,使得中文搜索更为准确和...
在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是基于...