实践案例 | 解锁模糊查询新技能:轻松实现大小写无关的搜索

科技   2024-10-21 07:45   广东  

在全球化的商业环境中,海外用户使用业务系统进行数据输入时,往往不会严格遵循大小写规范。在列表进行模糊搜索时,如果系统校验关键词的大小写,信息匹配效率低,使用不方便。

对此,本文分享了通过数据库忽略大小写、ES忽略大小写两个方法来实现模糊搜索忽略大小写。阅读全文,解锁模糊查询新技能,让搜索更高效~















业务背景














某大型集团公司在全球范围内拥有众多子公司和广泛的海外用户群体。在使用星瀚业务系统进行数据输入时,海外用户往往不会严格遵循大小写规范,这导致在列表上进行模糊搜索时,由于当前系统会校验关键词的大小写,用户难以准确匹配所需信息,使用较不方便。

为了提升用户体验并支持公司的国际化战略,系统需支持模糊搜索忽略大小写



解决方案














方案整体思路


针对客户诉求,可通过数据库忽略大小写、ES忽略大小写两个方法来实现。


1.  数据库忽略大小写


利用本身数据库的忽略大小写能力:譬如pg可以使用ilike操作符实现;oracle可使用collate binary_ci关键字实现。有些数据库可能没有忽略大小写特性支持,也可以使用大小写转换函数实现。目前暂支持pg、mysql(默认忽略大小写)、oracle、达梦(7.0版本发布)等数据库。


2. ES忽略大小写


利用苍穹的数据同步能力,将数据同步到ES中,对字段值转小写存储。在搜索时转小写进行模糊匹配。


关键步骤及效果展示


1. 数据库忽略大小写


步骤1:在MC开启租户级忽略大小写参数“orm.opt.ignorecase=true”。



然后点击“发布”即可。



步骤2:在列表上选择“包含、以…开始、以…结束、不包含”,以及f7搜索均可忽略大小写。



2. ES忽略大小写


步骤1:配置快速搜索ES相关配置。


参考下述文章进行配置:


快速搜索用户手册:

https://vip.kingdee.com/link/s/lnLqg


注:文中的快速搜索配置暂不配置,等步骤2进行之后再配置。


步骤2:在MC开启租户级忽略大小写参数orm.opt.ignorecase=true。


步骤3:在“分布式管理>全文索引>快速搜索”菜单配置快速搜索实体。



步骤4:列表右上角进行快速搜索或者f7搜索,即可实现忽略大小写。




方案的可推广价值














该方案普遍适用于有模糊查询忽略大小写需求的客户,可复用价值高,且对客户而言,具备以下价值:

1. 改善用户体验,提升用户满意度:用户在输入数据时,无需担心大小写是否正确,可以更专注于内容本身,从而减少错误的发生,提高操作效率。且对非技术用户而言,大小写敏感可能是一个障碍,忽略大小写能降低学习曲线,使系统更易上手。

2. 提升搜索和匹配的便利性:用户在搜索时,无论输入的是大写、小写还是混合,均能找到正确的信息,确保搜索结果的一致性和精确度。例如,搜索“apple”和“Apple”会返回相同的结果。

3. 增强系统兼容性:兼容不同用户输入习惯,使系统更具兼容性。且不同设备和平台对大小写的处理方式可能不同,忽略大小写可以确保在不同平台上的一致性和兼容性。

4. 提升系统容错能力:允许用户在输入时出现大小写错误,而不会影响操作的成功率。且不同语言对大小写的敏感度不同,忽略大小写可以更好地适应多语言环境,提高国际化和本地化的适应性。



#往期推荐#

# 大数据量查询缓慢?快速搜索来帮忙!

ORM查询性能避坑指南,无保留地告诉你!

苍穹跨库查询超能力,超级查询来了

实践案例 | 水平分表,保障在线大数据存储性能的好帮手



对文章有任何疑问或建议,欢迎评论区留言~

PaaS平台那些事
分享苍穹最新特性、功能使用和开发小技巧、最佳实践等,做苍穹用户的知心朋友
 最新文章