分享好友 最新动态首页 最新动态分类 切换频道
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/


最新文章
英雄联盟女英雄18
英雄联盟女英雄18 是一个备受玩家关注的话题,本文将为大家深入探讨这个热门话题。在《英雄联盟》这款风靡全球的游戏中,女英雄一直扮演着重要的角色,她们不仅在游戏中展现出强大的实力,更以各自独特的魅力吸引着玩家的眼球。英雄联盟中
排队免单模式实战案例:看这家电商平台如何实现逆袭? 技术服务
排队免单模式实战案例:看这家电商平台如何实现逆袭? 技术服务+平台运营方案+软件开发服务,微三云麦超解读前文引言:微三云全场景运营:系统支持多种应用端口 微三云 OS-OMS 支持集团品牌企业内外部系统的无缝互联互通,支持集团分公司和
即时战术游戏有哪些?战术游戏排行榜-战术射击游戏下载
战术游戏种类有非常多,有哪些比较好玩呢,下面就来来给大家推荐几款:1、战地战地游戏玩家们将在手机上体验现代战争。游戏中你可以使用各种枪械冲锋,也可以驾驶坦克、大炮、飞机等进行火力压制。游戏将完全模拟战争情况,给你一个不错的
无锡职业技术学院:育训互促职业技能培训,践行职业培训法定职责
实施学历教育与培训并举是职业院校的法定职责,“推动学历教育与培训相互融合、相互促进”是时代赋予高职院校的重大课题。《国家职业教育改革实施方案》提出要“完善学历教育与培训并重的现代职业教育体系,开展高质量职业培训”,新修订《
Springboot网上求职招聘系统q35hm
Springboot网上求职招聘系统q35hm 本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。 系统程序文件列表 项目功能: 用户,企业,岗位信息,
当你在寻找哪种红酒好喝又档次时,这些关键词一定会帮到你
介绍如何选择适合入门的红酒,包括不同产地的特点和品种推荐。对于想要开始品鉴红酒的新手来说,选择适合的入门红酒是关键。首先,可以从产地入手。法国的波尔多和勃艮第产区因其丰富的红酒历史和多样的葡萄品种而备受推崇。波尔多的梅多克
广安35KV避雷器YH5WZ-51/134价格+2025排名一览
广安35KV避雷器YH5WZ-51/134价格+2025排名一览 1. 产品概述 - WSK - S-(TH)智能温湿度控制器是一种能够对环境温湿度进行精确监测和控制的设备。它结合了先进的传感器技术和智能控制算法,用于维持环境温湿度在设定的范围内。2. 功能特点 -
灵宝关键词SEO攻略,揭秘高效优化策略,网站排名快速攀升
灵宝关键词SEO揭示高效关键词优化策略,帮助网站快速提升排名,实现搜索引擎优化目标。随着互联网的快速发展,SEO(搜索引擎优化)已经成为企业提升网站排名、获取流量、提高率的重要手段,而关键词作为SEO的核心要素,其选择和优化直接关
高效SEO策略指南,打造搜索引擎优化实战攻略
SEO攻略全解析涵盖关键词研究、内容优化、链接建设等多方面,旨在帮助网站提升搜索引擎排名。通过深入分析搜索算法,本文提供了打造高效SEO策略的实用步骤,包括优化网站结构、提升用户体验、合理布局关键词等,助您在竞争激烈的网络世界中
货源一件代发弊端
货源一件代发弊端,一件代发是电商行业中常见的模式,即卖家通过第三方平台或供应商直接采购商品,无需库存,通过物流将商品直接发给买家。虽然一件代发具有低投入、低风险的优势,但也存在一些弊端,具体如下:1. 物流风险:由于货源和发
相关文章
推荐文章
发表评论
0评