elasticsearch-analysis-ansj 是一个基于 ansj 分词算法的 elasticsearch 中文分词插件。
mvn package
编译成功后,将会生成打包好的插件压缩包:target/releases/elasticsearch-analysis-ansj-<版本号>-release.zip。
在 es 安装目录下执行以下命令安装插件:
./bin/elasticsearch-plugin install file:///<你的路径>/elasticsearch-analysis-ansj-<版本号>-release.zip
安装完成后,会生成一个默认的配置文件:
<ES_HOME>/config/elasticsearch-analysis-ansj/ansj.cfg.yml,根据需要修改此文件即可。
安装完成后,启动 es 集群。通过以下方式测试是否安装正确:
方法一:
通过 kibana 执行 GET /_cat/ansj?text=中国&type=index_ansj 命令,测试 index_ansj 分词器,返回内容如下:
{ "result": [ { "name": "中国", "nature": "ns", "offe": 0, "realName": "中国", "synonyms": null }, { "name": "中", "nature": "f", "offe": 0, "realName": "中", "synonyms": null }, { "name": "国", "nature": "n", "offe": 1, "realName": "国", "synonyms": null } ] }
方法二:
通过 kibana 执行 GET /_cat/ansj/config 命令,获取配置文件内容如下:
{ "ambiguity": [ "ambiguity" ], "stop": [ "stop" ], "synonyms": [ "synonyms" ], "crf": [ "crf" ], "isQuantifierRecognition": "true", "isRealName": "false", "isNumRecognition": "true", "isNameRecognition": "true", "dic": [ "dic" ] }
PUT /test_index?pretty { "settings" : { "index" : { "number_of_shards" : 16, "number_of_replicas" : 1, "refresh_interval":"5s" } }, "mappings" : { "properties" : { "test_field": { "type": "text", "analyzer": "index_ansj", "search_analyzer": "query_ansj" } } } }
说明:
test_index: 用于测试的索引名称;test_field: 用于测试的字段;- 指定字段的索引分词器为:
index_ansj;- 指定字段的搜索分词器为:
query_ansj;
测试索引配置是否正确:
POST /test_index/_analyze { "field": "test_field", "text": "中国" }
PUT test_index/_bulk?refresh {"create":{ }} { "test_field" : "中国" } {"create":{ }} { "test_field" : "中华人民共和国" } {"create":{ }} { "test_field" : "中国有56个民族" } {"create":{ }} { "test_field" : "中国是社会主义国家" }
GET test_index/_search { "query": { "match": { "test_field": { "query": "中国" } } } }
注意:
- 上述操作语句都是在
kibana的dev_tools里执行的;- 上述操作语句仅在 es
8.x版本上测试过,其它版本请根据实际情况调整。
安装插件后,在 es 集群中会增加以下功能:
三个 analyzer:
三个 tokenizer:
http 接口:
ansj: #默认参数配置 isNameRecognition: true #开启姓名识别 isNumRecognition: true #开启数字识别 isQuantifierRecognition: true #是否数字和量词合并 isRealName: false #是否保留真实词语,建议保留false #用户自定词典配置 #dic: default.dic #也可以写成 file://default.dic , 如果未配置dic,则此词典默认加载 # http方式加载 #dic_d1: http://xxx/xx.dic # jar中文件加载 #dic_d2: jar://org.ansj.dic.DicReader|/dic2.dic # 从数据库中加载 #dic_d3: jdbc://jdbc:mysql://xxxx:3306/ttt?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull|username|password|select name as name,nature,freq from dic where type=1 # 从自定义类中加载,YourClas extends PathToStream #dic_d3: class://xxx.xxx.YourClas|ohterparam #过滤词典配置 #stop: http,file,jar,class,jdbc 都支持 #stop_key1: ... #歧义词典配置 #ambiguity: http,file,jar,class,jdbc 都支持 #ambiguity_key1: ... #同义词词典配置 #synonyms: http,file,jar,class,jdbc 都支持 #synonyms_key1: ...
ansj: # 开启姓名识别 isNameRecognition: false # 开启数字识别 isNumRecognition: true # 是否数字和量词合并 isQuantifierRecognition: false # 是否保留真实词语 isRealName: false # 词典 dic: file:///data/elasticsearch-dic/ansj/main.dic # 停词(过滤词)词典 stop: file:///data/elasticsearch-dic/ansj/stop.dic # 歧义词词典配置 ambiguity: file:///data/elasticsearch-dic/ansj/ambiguity.dic # 同义词词典配置 synonyms: file:///data/elasticsearch-dic/ansj/synonyms.dic
ansj: # 开启姓名识别 isNameRecognition: false # 开启数字识别 isNumRecognition: true # 是否数字和量词合并 isQuantifierRecognition: false # 是否保留真实词语 isRealName: false # 词典 dic: http://example.com/elasticsearch-dic/ansj/main.dic # 停词(过滤词)词典 stop: http://example.com/elasticsearch-dic/ansj/stop.dic # 歧义词词典配置 ambiguity: http://example.com/elasticsearch-dic/ansj/ambiguity.dic # 同义词词典配置 synonyms: http://example.com/elasticsearch-dic/ansj/synonyms.dic
| 插件版本 | Elasticsearch版本 |
|---|---|
| 1.0.0 | 0.90.2 |
| 1.x | 1.x |
| 2.1.1 | 2.1.1 |
| 2.3.1 | 2.3.1 |
| 2.3.2 | 2.3.2 |
| 2.3.3 | 2.3.3 |
| 2.3.4 | 2.3.4 |
| 2.3.5 | 2.3.5 |
| 2.4.0 | 2.4.0 |
| 2.4.1 | 2.4.1 |
| 2.4.2 | 2.4.2 |
| 2.4.3 | 2.4.3 |
| 2.4.4 | 2.4.4 |
| 2.4.5 | 2.4.5 |
| 2.4.6 | 2.4.6 |
| 5.0.0 | 5.0.0 |
| 5.0.1 | 5.0.1 |
| 5.0.2 | 5.0.2 |
| 5.1.1 | 5.1.1 |
| 5.1.2 | 5.1.2 |
| 5.2.0 | 5.2.0 |
| 5.2.1 | 5.2.1 |
| 5.2.2 | 5.2.2 |
| 5.3.0 | 5.3.0 |
| 5.3.1 | 5.3.1 |
| 5.3.2 | 5.3.2 |
| 5.3.3 | 5.3.3 |
| 5.4.0 | 5.4.0 |
| 5.4.1 | 5.4.1 |
| 5.4.2 | 5.4.2 |
| 5.4.3 | 5.4.3 |
| 5.5.0 | 5.5.0 |
| 5.5.1 | 5.5.1 |
| 5.5.2 | 5.5.2 |
| 5.5.3 | 5.5.3 |
| 5.6.0 | 5.6.0 |
| 5.6.1 | 5.6.1 |
| 5.6.2 | 5.6.2 |
| 5.6.3 | 5.6.3 |
| 5.6.4 | 5.6.4 |
| 5.6.5 | 5.6.5 |
| 5.6.6 | 5.6.6 |
| 5.6.7 | 5.6.7 |
| 5.6.8 | 5.6.8 |
| 5.6.9 | 5.6.9 |
| 5.6.10 | 5.6.10 |
| 5.6.11 | 5.6.11 |
| 5.6.12 | 5.6.12 |
| 5.6.13 | 5.6.13 |
| 5.6.14 | 5.6.14 |
| 5.6.15 | 5.6.15 |
| 5.6.16 | 5.6.16 |
| 6.0.0 | 6.0.0 |
| 6.0.1 | 6.0.1 |
| 6.1.0 | 6.1.0 |
| 6.1.1 | 6.1.1 |
| 6.1.2 | 6.1.2 |
| 6.1.3 | 6.1.3 |
| 6.1.4 | 6.1.4 |
| 6.2.0 | 6.2.0 |
| 6.2.1 | 6.2.1 |
| 6.2.2 | 6.2.2 |
| 6.2.3 | 6.2.3 |
| 6.2.4 | 6.2.4 |
| 6.3.0 | 6.3.0 |
| 6.3.1 | 6.3.1 |
| 6.3.2 | 6.3.2 |
| 6.4.0 | 6.4.0 |
| 6.4.1 | 6.4.1 |
| 6.4.2 | 6.4.2 |
| 6.4.3 | 6.4.3 |
| 6.5.0 | 6.5.0 |
| 6.5.1 | 6.5.1 |
| 6.5.2 | 6.5.2 |
| 6.5.3 | 6.5.3 |
| 6.5.4 | 6.5.4 |
| 6.6.0 | 6.6.0 |
| 6.6.1 | 6.6.1 |
| 6.6.2 | 6.6.2 |
| 6.7.0 | 6.7.0 |
| 6.7.1 | 6.7.1 |
| 6.7.2 | 6.7.2 |
| 6.8.0 | 6.8.0 |
| 6.8.1 | 6.8.1 |
| 6.8.2 | 6.8.2 |
| 6.8.3 | 6.8.3 |
| 6.8.4 | 6.8.4 |
| 6.8.5 | 6.8.5 |
| 6.8.6 | 6.8.6 |
| 6.8.7 | 6.8.7 |
| 6.8.8 | 6.8.8 |
| 6.8.9 | 6.8.9 |
| 6.8.10 | 6.8.10 |
| 6.8.11 | 6.8.11 |
| 6.8.12 | 6.8.12 |
| 6.8.13 | 6.8.13 |
| 6.8.14 | 6.8.14 |
| 6.8.15 | 6.8.15 |
| 6.8.16 | 6.8.16 |
| 6.8.17 | 6.8.17 |
| 6.8.18 | 6.8.18 |
| 6.8.19 | 6.8.19 |
| 6.8.20 | 6.8.20 |
| 6.8.21 | 6.8.21 |
| 6.8.22 | 6.8.22 |
| 6.8.23 | 6.8.23 |
| 7.0.0 | 7.0.0 |
| 7.0.1 | 7.0.1 |
| 7.1.0 | 7.1.0 |
| 7.1.1 | 7.1.1 |
| 7.2.0 | 7.2.0 |
| 7.2.1 | 7.2.1 |
| 7.3.0 | 7.3.0 |
| 7.3.1 | 7.3.1 |
| 7.3.2 | 7.3.2 |
| 7.4.0 | 7.4.0 |
| 7.4.1 | 7.4.1 |
| 7.4.2 | 7.4.2 |
| 7.5.0 | 7.5.0 |
| 7.5.1 | 7.5.1 |
| 7.5.2 | 7.5.2 |
| 7.6.0 | 7.6.0 |
| 7.6.1 | 7.6.1 |
| 7.6.2 | 7.6.2 |
| 7.7.0 | 7.7.0 |
| 7.7.1 | 7.7.1 |
| 7.8.0 | 7.8.0 |
| 7.8.1 | 7.8.1 |
| 7.9.0 | 7.9.0 |
| 7.9.1 | 7.9.1 |
| 7.9.2 | 7.9.2 |
| 7.9.3 | 7.9.3 |
| 7.17.5 | 7.17.5 |
| 7.17.7 | 7.17.7 |
| 7.17.8 | 7.17.8 |
| 7.17.9 | 7.17.9 |
| 7.17.10 | 7.17.10 |
| 7.17.11 | 7.17.11 |
| 7.17.12 | 7.17.12 |
| 7.17.13 | 7.17.13 |
| 7.17.14 | 7.17.14 |
| 7.17.15 | 7.17.15 |
| 7.17.16 | 7.17.16 |
| 7.17.17 | 7.17.17 |
| 7.17.18 | 7.17.18 |
| 7.17.19 | 7.17.19 |
| 7.17.20 | 7.17.20 |
| 7.17.21 | 7.17.21 |
| 7.17.22 | 7.17.22 |
| 8.3.3 | 8.3.3 |
| 8.5.3 | 8.5.3 |
| 8.6.0 | 8.6.0 |
| 8.6.1 | 8.6.1 |
| 8.6.2 | 8.6.2 |
| 8.7.0 | 8.7.0 |
| 8.7.1 | 8.7.1 |
| 8.8.0 | 8.8.0 |
| 8.8.1 | 8.8.1 |
| 8.8.2 | 8.8.2 |
| 8.9.0 | 8.9.0 |
| 8.9.1 | 8.9.1 |
| 8.9.2 | 8.9.2 |
| 8.10.0 | 8.10.0 |
| 8.10.1 | 8.10.1 |
| 8.10.2 | 8.10.2 |
| 8.10.3 | 8.10.3 |
| 8.10.4 | 8.10.4 |
| 8.11.0 | 8.11.0 |
| 8.11.1 | 8.11.1 |
| 8.11.2 | 8.11.2 |
| 8.11.3 | 8.11.3 |
| 8.11.4 | 8.11.4 |
| 8.12.0 | 8.12.0 |
| 8.12.1 | 8.12.1 |
| 8.12.2 | 8.12.2 |
| 8.13.0 | 8.13.0 |
| 8.13.1 | 8.13.1 |
| 8.13.2 | 8.13.2 |
| 8.13.3 | 8.13.3 |
| 8.13.4 | 8.13.4 |
| 8.14.0 | 8.14.0 |
| 8.14.1 | 8.14.1 |
| 8.14.2 | 8.14.2 |
| 8.14.3 | 8.14.3 |
elasticsearch-analysis-ansj 采用 Apache License 2.0 版本授权。详情请参阅 LICENSE 文件。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质 的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。


最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。


像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号