暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL 模糊查询增强插件pgroonga , pgbigm (含单字、双字、多字、多字节字符) - 支持JSON模糊查询等

digoal 2020-03-30
2566

作者

digoal

日期

2020-03-30

标签

PostgreSQL , pgroonga , pgbigm , 模糊查询 , 单字 , 双字 , 多字 , 多字节字符 , JSON模糊查询


背景

pg_trgm支持模糊查询, 但是它是三个连续字符为一个token进行切分的, 所以对单字、双字的模糊查询性能不好(没有切分到这个粒度), 所以要实现 单字、双字 模糊查询, 还需要依赖自定义切分, 比较麻烦. 方法如下:

《PostgreSQL 模糊查询最佳实践 - (含单字、双字、多字模糊查询方法)》

所以社区提供了一个增强trgm, pgbigm, 支持双字token, 如下:

```
=# SELECT show_bigm('full text search');
show_bigm


{" f"," s"," t",ar,ch,ea,ex,fu,"h ","l ",ll,rc,se,"t ",te,ul,xt}
(1 row)
```

所以使用pgbigm可以支持单字、双字、多字、多字节字符的高效率模糊查询.

另外一个插件是pgroonga, 支持更多的操作符, 整合了多种类型的模糊查询, 包括json, 数组, 数值, 文本等.

用法参考:

http://pgbigm.osdn.jp/pg_bigm_en-1-2.html

http://pgbigm.osdn.jp/index_en.html

https://pgroonga.github.io/tutorial/

https://pgroonga.github.io/overview/

PostgreSQL 许愿链接

您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.

9.9元购买3个月阿里云RDS PostgreSQL实例

PostgreSQL 解决方案集合

德哥 / digoal's github - 公益是一辈子的事.

digoal's wechat

文章转载自digoal,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论