gpt4 book ai didi

ruby-on-rails - pg_search gem 和全文搜索排名设置

转载 作者:行者123 更新时间:2023-11-29 11:29:13 25 4
gpt4 key购买 nike

我正在使用 gem pg_search在我的 postgres 数据库上执行全文搜索。我有这样的范围:

pg_search_scope :fulltext, against: [:firstname, :lastname, :middlename],
using: {
tsearch: { prefix: true },
trigram: {
:threshold => 0.2
}
}

当我使用字符串 gro 进行搜索时,我希望与单词 gro 完全匹配的记录的排名高于与 group< 这样的单词匹配的记录/em>( 包含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,
against: [:firstname, :lastname, :middlename],
using: {
tsearch: { prefix: true },
trigram: {
:threshold => 0.2
}
},
:ranked_by => ":tsearch + :trigram"

关于ruby-on-rails - pg_search gem 和全文搜索排名设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47354358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com