栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

PostgreSQL与全文搜索完全匹配

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PostgreSQL与全文搜索完全匹配

考虑到PostgreSQL使用的英语词干分析器不会阻止比较词和最高级词(我必须认为这是设计使然,而不仅仅是错误),所以在PostgreSQL中没有合理的方法可以做到这一点。

select to_tsvector('english','funny funnier funniest big bigger biggest');      to_tsvector      ------------------------------------------------------------------- 'big':4 'bigger':5 'biggest':6 'funni':1 'funnier':2 'funniest':3

但是,如果您安装english_hunspell词典(本身并不琐碎),那么您可以更接近所需的内容,至少对于您给出的一个示例。

create text search configuration english_hun (copy = english);ALTER TEXT SEARCH ConFIGURATION english_hun alter mapping replace english_stem with english_hunspell;select to_tsvector('english_hun','funny funnier funniest big bigger biggest');      to_tsvector       ---------------------------------------------- 'big':4 'bigger':5 'biggest':6 'funny':1,2,3

最常见的介词已经是停用词,但不是全部,因此您可能需要调整停用词列表。

完成常规匹配(@@)之后,您可以添加AND条件,以确保tsvector和tsquery的长度相同。这将与“有趣的狗逗”相匹配,无论您是否想要,我都不清楚。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/634473.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号