ruby-on-rails – pg_search gem和全文搜索排名设置
发布时间:2020-12-16 21:07:50 所属栏目:百科 来源:网络整理
导读:我使用gem pg_search在我的postgres db上执行全文搜索. 我的范围是这样的: pg_search_scope :fulltext,against: [:firstname,:lastname,:middlename],using: { tsearch: { prefix: true },trigram: { :threshold = 0.2 } } 当我使用字符串gro搜索时,我希望
我使用gem
pg_search在我的postgres db上执行全文搜索.
我的范围是这样的: pg_search_scope :fulltext,against: [:firstname,:lastname,:middlename],using: { tsearch: { prefix: true },trigram: { :threshold => 0.2 } } 当我使用字符串gro搜索时,我希望与完全单词gro匹配的记录的排名高于匹配像group(group contains gro)这样的单词的记录. 任何想法,如果有一些设置来做到这一点? 解决方法
我在Django中有一个非常相似的情况,我解决了总结三元组相似性和tsearch排名.
与完全匹配的单词的相似性高于部分匹配,因为您可以检查PostgresSQL: SELECT similarity('gro','gro') AS exact,similarity('gro','group') AS partial; exact | partial -------+---------- 1 | 0.428571 我不是ruby专家,但我已经阅读了pg_search文档,我认为你的问题的解决方案应该与此类似: pg_search_scope :fulltext,trigram: { :threshold => 0.2 } },:ranked_by => ":tsearch + :trigram" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读