基于 HanLP 的 Elasticsearch 中文分词插件,核心功能:
兼容 ES 5.x-7.x;
内置词典,无需额外配置即可使用;
支持用户自定义词典;
支持远程词典热更新(待开发);
内置多种分词模式,适合不同场景;
拼音过滤器(待开发);
简繁体转换过滤器(待开发)。
版本
插件版本和 ES 版本一致,直接下载对应版本的插件进行安装即可。
·插件开发完成时,最新版本已经为 6.5.2 了,所以个人只对典型的版本进行了测试;
·5.X 在 5.0.0、5.5.0 版本进行了测试;
·6.X 在 6.0.0、6.3.0、6.4.1、6.5.1 版本进行了测试;
·7.X 在 7.0.0 版本进行了测试。
安装使用
下载编译
git clone 对应版本的代码,打开 pom.xml 文件,修改 <elasticsearch.version>6.5.1</elasticsearch.version> 为需要的 ES 版本;然后使用 mvn package 生产打包文件,最终文件在 target/release 文件夹下。
打包完成后,使用离线方式安装即可。
使用默认词典
·在线安装:.\elasticsearch-plugin install github.com/AnyListen/elasticsearch-analysis-hanlp/releases/download/vA.B.C/elasticsearch-analysis-hanlp-A.B.C.zip
·离线安装:.\elasticsearch-plugin install file:///FILE_PATH/elasticsearch-analysis-hanlp-A.B.C.zip
离线安装请把 FILE_PATH 更改为 zip 文件路径;A、B、C 对应的是 ES 版本号。
使用自定义词典
默认词典是精简版的词典,能够满足基本需求,但是无法使用感知机和 CRF 等基于模型的分词器。
HanLP 提供了更加完整的词典,请按需下载。
词典下载后,解压到任意目录,然后修改插件安装目录下的 hanlp.properties 文件,只需修改第一行
root=D:/JavaProjects/HanLP/
为 data 的父目录即可,比如 data 目录是 /Users/hankcs/Documents/data,那么 root=/Users/hankcs/Documents/。
使用自定义配置文件
如果你在其他地方使用了 HanLP,希望能够复用 hanlp.properties 文件,你只需要修改插件安装目录下的 plugin.properties 文件,将 configPath 配置为已有的 hanlp.properties 文件地址即可。
内置分词器
分析器(Analysis)
·hanlp_index:细粒度切分
·hanlp_smart:常规切分
·hanlp_nlp:命名实体识别
·hanlp_per:感知机分词
·hanlp_crf:CRF分词
·hanlp:自定义
分词器(Tokenizer)
·hanlp_index:细粒度切分
·hanlp_smart:常规切分
·hanlp_nlp:命名实体识别
·hanlp_per:感知机分词
·hanlp_crf:CRF分词
·hanlp:自定义
自定义分词器
插件有较为丰富的选项允许用户自定义分词器,下面是可用的配置项:
图1
案例展示:
# 创建自定义分词器
PUT my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"type": "hanlp",
"algorithm": "viterbi",
"enableIndexMode": "true",
"enableCustomDictionary": "true",
"customDictionaryPath": "",
"enableCustomDictionaryForcing": "false",
"enableStopWord": "true",
"stopWordDictionaryPath": "",
"enableNumberQuantifierRecognize": "true",
"enableNameRecognize": "true",
"enableTranslatedNameRecognize": "true",
"enableJapaneseNameRecognize": "true",
"enableOrganizationRecognize": "true",
"enablePlaceRecognize": "true",
"enableTraditionalChineseMode": "false"
}
}
}
}
}
# 测试分词器
POST my_index/_analyze
{
"analyzer": "my_analyzer",
"text": "张惠妹在上海市举办演唱会啦"
}
分词速度(仅供参考)
借助 _analyze API(1核1G单线程),通过改变分词器类型,对 2W 字的文本进行分词,以下为从请求到返回的耗时:
相关推荐
elasticsearch-analysis-hanlpHanLP Analyzer for ElasticSearch此分词器基于,提供了HanLP中大部分的分词方式。今年一年都在忙其他事,所以插件更新基本一年没有更新,年底更新一波。今年学习了一下ES向量插件...
基于HanLP自然语言处理包的elasticsearch分词器 功能 本分词器使用HanLP提供的维特比分词 屏蔽了本地配置用户词典 增加同义词索引功能 增加远程词典热更新(用户词典,停词典,同义词典) 使用 目前支持的es版本为...
《Elasticsearch Analysis HanLP插件详解》 在大数据时代,搜索引擎成为了信息获取的重要工具,而Elasticsearch作为一款强大的全文搜索引擎,广泛应用于各种场景。为了更好地支持中文处理,Elasticsearch提供了各种...
压缩包文件名为“pengcong90-elasticsearch-analysis-hanlp-8d552a3”,这很可能是项目的GitHub仓库名称或者版本号,其中“pengcong90”可能是开发者或团队的用户名,“elasticsearch-analysis-hanlp”表明这是针对...
elasticsearch-analysis-hanlp安装步骤:1、下载插件并解压到es的plugins目录下修改analysis-hanlp目录下的hanlp.properties文件,修改root的属性,值为analysis-hanlp下的data 目录的地址修改analysis-hanlp目录下...
4. **elasticsearch-analysis-hanlp-7.5.1.jar**:这是Elasticsearch HanLP插件的实现文件,将HanLP的功能与Elasticsearch的索引和查询机制结合。 5. **commons-logging-1.2.jar**:提供了日志记录功能,方便插件...
elasticsearch是使用比较广泛的分布式搜索引擎,es提供了一个的单字分词工具,还有一个分词插件ik使用比较广泛,hanlp是一个自然语言处理包,能更好的根据上下文的语义,人名,地名,组织机构名等来切分词
elasticsearch-6.4.2 hanlp分词插件 windows下安装命令 首先进入es bin目录 elasticsearch-6.4.2\bin> 然后执行 elasticsearch-plugin.bat install file:///E:/elasticsearch-analysis-ik-6.4.2.zip Linux下安装...
"elasticsearch-analysis-ik"是针对Elasticsearch的一个中文分词插件,它的主要功能是提供高效、精准的中文分词能力,使得Elasticsearch能够更好地理解和处理中文文本数据。 在Elasticsearch 7.10.0版本中,...
最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip
作者自己打包的hanlp插件,用于中文分词,可实现中文人名、地名、机构名识别。es的版本为8.15.0
elasticsearch-analysis-ik 是一个常用的中文分词器,在 Elasticsearch 中广泛应用于中文文本的分析和搜索。下面是 elasticsearch-analysis-ik 分词器的几个主要特点: 中文分词:elasticsearch-analysis-ik 是基于...
elasticsearch-analysis-dynamic-synonym-8.15.3,用于elasticsearch 8.15.3 hanlp 分词器
最新版elasticsearch-analysis-ik-8.8.2.zip最新版elasticsearch-analysis-ik-8.8.2.zip最新版elasticsearch-analysis-ik-8.8.2.zip最新版elasticsearch-analysis-ik-8.8.2.zip
elasticsearch-analysis-hanlp-7.x.x:es插件安装包,安装说明在包内 elasticsearch-analysis-hanlp-master-7.x.x:es插件源码和引用 HanLP-portable-1.7.3:hanlp分词器源码 1. 修改了hanlp-portable-1.7.3源码中...
在现代大数据分析和搜索引擎领域,Elasticsearch(ES)因其高效、灵活的全文检索能力而备受青睐。然而,对于中文这样的多字节语言,如何准确地进行分词是关键。这时,我们就需要引入专门的中文分词器。本文将详细...
Elasticsearch(ES)是一款功能强大的全文搜索引擎,广泛应用于数据检索、数据分析等领域。为了提高搜索的准确性和便利性,Elasticsearch提供了丰富的分析插件,其中"elasticsearch-analysis-dynamic-synonym-7.2.0...
Elasticsearch(简称ES)是一款强大的开源搜索引擎,广泛应用于大数据领域的全文检索。它以其高可扩展性、实时性能以及丰富的分析能力著称。在中文环境下,由于汉字的复杂性,分词是实现有效搜索的关键步骤。为此,...
Elasticsearch(ES)作为一个开源的全文搜索引擎,因其强大的搜索功能和分布式特性而备受青睐。然而,对于中文这种复杂的语言,分词是搜索引擎理解文本的关键步骤。本文将详细介绍elasticsearch-analysis-ik-7.10.2...
**Elasticsearch Analysis IK 7.10.0 分词器详解** Elasticsearch 分词器是搜索引擎核心组件之一,负责将输入的文本拆分成可搜索的独立单元——词语。在中文环境中,这个过程尤为重要,因为中文句子由多个汉字组成...