全文检索引擎(一)---准备入坑

针对一个处理贷款进件信息的风险控制系统,项目面临大数据量及模糊查询的挑战。本篇介绍了项目背景,面对的问题,以及考虑的两种解决方案:一是尝试利用MySQL的全文索引功能;二是引入搜索引擎技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇主要介绍项目背景,项目需求 --- 与ES孽缘的源头。

一、项目背景

项目用于处理风控规则引擎处理的进件信息,对进件信息进行决策,用以对风险高的贷款进件进行标记。

项目特点:

1.数据库采用mysql (5.7.21)。

2.项目进件主表数据量在500W左右,进件关联的联系人表数据量在3000W左右。

3.项目中用户需求指定列表查询条件为模糊查询,且数据涉及主表与联系人表数据。

总结:数据量大,模糊查询

二、制定方案

由于模糊查询在mysql中,头和尾都含有“%”的查询,即类似selece name from table where name like “%呵呵%” ;这样的查询语句不命中索引,因此涉及到模糊查询的时候会进行全表扫描。在3000W数据量的条件下,全表扫描效率可想而知(我没查出来就),因此考虑实施以下方案:

方案1

建立mysql全文索引:库表采用innodb引擎(MySQL5.6以上支持),在一个搜索条件列上建立全文索引(fulltext),测试发现如下:

结果分析:mysql全文索引默认是以英文语句进行生成索引,英文语句存在空格,因此每个词可以分开,而中文都是连着的,mysql分不开。因此如果想使用mysql的全文索引来索引中文单词的话只能手动用空格进行分开,过于繁琐,不推荐。

方案2

采用搜索引擎。

下一篇将介绍为何选用搜索引擎,搜索引擎与传统数据库相比有什么区别?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值