lucene3.0如何实现中英数字混合字符串分词,例"wo是一个19岁的小伙",分词为w,o,是,一,个,1,9,岁,的,小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lucene3.0如何实现中英数字混合字符串分词,例"wo是一个19岁的小伙",分词为w,o,是,一,个,1,9,岁,的,小相关的知识,希望对你有一定的参考价值。

参考技术A 你可用不同的分词器(Analyser)来时间中文和英文的分词,主流的中文分词器有IKAnalyzer,SmartChineseAnalyzer,等等有五六种,你可也百度一下中文分词器,用些分词器可以同时对英文和中文进行分词,很好用的。。。

Elasticsearch 7.X 中英混合分词器 Smart Chinese 使用

一、Smart Chinese

Smart Chinese Analysis插件将Lucene的Smart Chinese分析模块集成到Elasticsearch中,用于分析中文或中英文混合文本。 支持的分析器在大型训练语料库上使用基于隐马尔可夫(Markov)模型的概率知识来查找简体中文文本的最佳分词。 它使用的策略是首先将输入文本分解为句子,然后对句子进行切分以获得单词。 该插件提供了一个称为smartcn分析器的分析器,以及一个称为smartcn_tokenizer的标记器。 请注意,两者均不能使用任何参数进行配置。

Smart Chinese对中文支持稍好,但扩展性差,扩展词库,禁用词库和同义词库等不好处理。

二、ES 安装 analysis-smartcn

进入es的安装目录的bin下,执行下面命令:

elasticsearch-plugin install analysis-smartcn


安装完成之后,重启es。

三、分词测试

向ES服务器发送GET请求:

http://127.0.0.1:9200/_analyze

请求内容:


  "text": "中华人民共和国",
  "analyzer":"smartcn"



喜欢的小伙伴可以关注我的个人微信公众号,获取更多学习资料!

以上是关于lucene3.0如何实现中英数字混合字符串分词,例"wo是一个19岁的小伙",分词为w,o,是,一,个,1,9,岁,的,小的主要内容,如果未能解决你的问题,请参考以下文章

java 如何对中英文和符号数字混合的字符串进行截取,其中包含各种括号( ( [ < >] ) )?

[Python]中英文混合字符串的对齐

Java编程实现中英混合字符串数组按首字母排序的方法

Java编程实现中英混合字符串数组按首字母排序的方法

Java编程实现中英混合字符串数组按首字母排序的方法

Java编程实现中英混合字符串数组按首字母排序的方法