函数已改进,请使用新版本函数,参看PostgreSQL 黑科技-递规二分法切分汉字
1 模糊查询时,大多数情况下首先想到的是like ‘%关键字%’或基于gin索引的正则表达式,gin至少需要三个字符才会使用索引...,对于汉语来说十分不方便;
2 在海量数据的情况下,基于like和gin索引的正则表达式均不理想时,一般采用分词后进行查询.
3 分词存在两个弊端
3.1 词库的维护是比较繁重的工作.当词库中没有的关键词会导致查询结果不正确....
3.2 历史数据的维护工作不好处理.新增关键词时,历史数据并不包含些新的关键词,使用新关键词查询时无法查询到历史数据.
4 不使用like/不使用正则/不使用分词并保证查询快捷准确的另一种方法
此方法的缺点是比较浪费空间...,不过在当前相比较下来以空间换取时间的方法是值得的.
4.1 首先清除文本中的标点符号
drop function if exists clear_punctuation(text);
create or...,保存速度非常慢,因此创建表时设置unlogged标记
--unlogged标记不是绝对安全的,因此和主表分开
--虽然浪费了一定的磁盘空间,但可以最大程度保证写入速度
--test_cond表损坏后,