分享好友 最新动态首页 最新动态分类 切换频道
Manticore Search 中文分词搜索入门
2024-12-26 15:48

Manticore Search 3.1.0 版引入了一种基于ICU 文本分割算法的中文文本分割新方法,该算法遵循第二种方法 - 基于字典的分割。

Manticore Search 中文分词搜索入门

ICU 是一组开源库,为软件应用程序提供 Unicode 和全球化支持。与许多其他功能一起,它解决了文本边界确定的任务。 ICU 算法在文本范围内定位单词、句子、段落的位置,或者在显示文本时识别适合换行的位置。

本文截稿时,在 Manticore 的讨论区很多人反馈 ICU 似乎没有 jieba 分词器对中文分词处理的更好,Manticore作者也已经将 jieba 分词器的集成纳入后续的支持计划。

Manticore 中 ICU 分词的算法可以简单描述如下

  • 原始文本被视为符号数组。

  • 然后 Manticore 遍历数组,如果找到一组 * 中文符号,它会将其传递给 ICU 库进行处理。

  • 中文文本的分段部分替换了原始的未分段部分。

  • 其他自然语言处理算法(charset_table、wordforms等)适用于修改后的文本,就像在常见的分割工作流程中一样。

要启用 ICU-Chinese 分词,必须在创建表时添加以下索引配置选项

  • morphology = ‘icu_chinese’

  • charset_table = ‘chinese’ 或者 charset_table = ‘non_cjk,chinese’

当一篇文章包含中文和英文时可以考虑设置 charset_table = ‘non_cjk,chinese’

1、连接到 manticore

 

2、创建表

 

中英文混合时候参考选用

更多字段类型详见官方文档,地址:https://manual.manticoresearch.com/Creating_a_table/Data_types#Character-data-types

3、插入测试数据

 

4、分词测试

 

:从测试 分词结果我们可以看到, 消失了,那是因为我们设定的 只是 ,如果你希望中文和英文都被分词,则你需要设置 ,可以自行测试验证。

5、查询数据

5.1、普通字段查询
 
5.2、对 string 字段进行正则查询
 

:如官方文档中对 REGEX函数的描述 所示regex 目前只能用于 string 和 json 类型的字段

5.3、对索引字段使用 match 进行搜索

只有被索引的字段才可以使用 进行搜索, 类型的字段默认为 , 字段默认为 ,但是我们可以手工为 string 字段设置 属性使之也被索引,这样 string 也可以使用 match 匹配搜索。

5.3.1、从所有索引字段搜索
 
5.3.2、从明确指定的索引字段搜索
 
5.3.3、同时匹配多个关键字
 
5.3.4、多个字段并且关系搜索
 

更多关于全文索引的查询语法,详见官方文档中的 Full text operators 章节。

5.3.4、对 json 字段进行查询
 

官方提供了JSON字段查询的仿真教学环境,地址为 https://play.manticoresearch.com/json/,更多内容请探索官方手册。

5.4、查看查询的扩展信息

每执行一个查询后,都可以使用 查看执行过的查询的扩展信息,如下所示

 
5.5、通过HTTP接口执行SQL语句

manticore 提供了多个HTTP接口可以支持我们直接匹配搜索。但是如果你仍旧比较喜欢使用SQL来执行查询的话,又不想为如何每种不同数据库进行复杂的ODBC配置,那么你可以使用官方提供的一个可以直接执行SQL语句的 HTTP 接口,这个接口提供一个 SQL 语句参数,使用常规的表单的POST方式进行提交,效果如下图所示

1、提交方式为常规的 form 表单 POST 提交。
2、query 参数为需要执行的 sql 语句,使用 curl 等方式执行时需要进行 url 编码。
3、 为可选参数,如果不指定该参数则query只允许执行SELECT语句。
4、如果提供 ,则可以执行 所有SQL语句,例如 查看表结构、 查看所有表等命令。
5、更多详见官方文档地址:https://manual.manticoresearch.com/Connecting_to_the_server/HTTP#SQL-over-HTTP

实现中文全文搜索看似通过中间件很容易,让分词结果达到自己实际业务期望度并非易事。虽然 Manticore Search 使用 ICU 已经可以轻松的应付大部分中文场景。但是当你深度使用后,可能会发现它对很多自定义词组和灵活组合变幻的中文的支持度仍然达不到我们的预期,对分词的扩展支持目前来说还不够。
不过如文初所述,作者已经计划集成 分词器(issue,相信在不久的将来支持 jieba 后我们能更灵活的自定义中文词库,来尽可能更准确的满足我们对中文分词的实际业务需求。

中文分词的官方互动教程地址https://play.manticoresearch.com/icu-chinese/


最新文章
阿里巴巴seo排名优化(SEO文章排名优化)
阿里巴巴SEO排名优化 随着电子商务的快速发展,搜索引擎优化(SEO)已经成为提高网站流量和转化率的关键手段之一。作为国内知名的电商平台,阿里巴巴也十分重视SEO排名优化。本文将介绍阿里巴巴SEO排名优化的基本
不吹不黑!年均PUE 1.1的百度首个自建超大型数据中心是什么水平?
PUE 1.1如何炼成? 出北京沿京昆高速一直走,经过保定、石家庄即到山西阳泉,从地理位置、气候条件、网络设施和电价等因素上考量,阳泉不是传统意义上受青睐的数据中心选址地,百度第一个自建超大型数据中心
鲁大师手机在线观看视频教程:轻松学会手机优化
这些视频教程内容丰富,涵盖了手机优化的各个方面。比如,它会教我们如何清理手机内存,释放更多的存储空间;如何关闭不必要的后台程序,提高手机的运行速度;如何优化手机的电池管理,延长电池的使用寿命;如何设置手机的网络连接,提高网
漫画台app免费下载2025最新版
漫画台2025安卓最新版,是一款专为漫画追番打造的漫画资源整合软件,平台每日同步更新海量正版漫画,国漫、日漫,热血、武侠、玄幻、霸道、搞笑各种类别应有尽有,满足用户的多样化看漫画需求,高清漫画还支持离线下载没网也能看。漫画台20
百度指数的基本功能是什么
在当今数字化的时代,数据的价值愈发凸显,而百度指数作为百度公司推出的一款专业的互联网数据分析工具,其基本功能在帮助用户洞察网络舆情、把握市场动态、优化营销策略等方面发挥着重要的作用。百度指数的基本功能之一是关键词搜索热度监
落地香港,威盛AI助力工程机械安全升级!
  日前,威盛携威盛Mobile360 AI工程机械解决方案受邀参加由德利机械有限公司及德利机械控股有限公司(德利机械)举办的“新型智能机械安全简介会”,会场演示多元化的安全智慧工地系统(4S)产品,助力业界提升建筑业安全标准。  此次大会
苹果手机AI智能写作助手:一键生成学术论文、报告及创意文案软件解决方案
在数字化时代,智能写作助手的出现极大地提升了写作效率其对学术研究者、报告撰写者和创意文案工作者而言一款强大的智能写作软件更是如虎添翼。苹果手机以其特别的操作系统和强大的硬件性能,成为了众多写作爱好者的首选设备。本文将为您详
股票怎么打开?如何开始进行股票投资?
股票投资入门指南接下来,您需要开通一个证券账户。这就像是您进入股票市场的“通行证”。您可以选择传统的证券公司,也可以考虑在线券商平台。在选择时,要综合考虑手续费、服务质量、交易工具等因素。以下是一个简单的对比表格,帮助您了
用“文心一言”写的文章,看看AI写得怎么样?
零售连锁店的“支付结算”业务设计在数字化浪潮的推动下,连锁店零售支付结算的设计愈发重要。一个优秀的支付结算设计不仅能够提升用户体验,还能增强品牌竞争力,进而促进销售增长。本文将围绕一个具体的连锁店零售支付结算案例,深入探讨
相关文章
推荐文章
发表评论
0评