gpt4 book ai didi

mysql - 导轨 : searching with pseudo-relevancy

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

我正在尝试编写一个搜索方法,用于搜索文章的全文,并按搜索词在全文中出现的次数对结果进行排序。像这样的事情:

def search
term = params[:term]
@articles = Article.where("body like ?", "%#{term}%")
@articles.each do |a|
b = a.body.count(term)
end
@articles = @articles.order("#{b} desc").limit(10).pluck(:name)
render json: @articles, b
end

上面的显然不行,它只是为了解释这个概念。任何想法,将不胜感激。干杯!

最佳答案

您最好使用全文搜索库来实现此目的。

如果您使用 Postgres 作为数据库,则可以使用 pg_search它为您的模型添加了范围,利用 Postgres 构建的全文搜索功能。

或者,如果您不想添加任何外部依赖项,则可以使用 Acts as Indexed将排名全文结果添加到您的应用中。

可以在 Ruby Toolbox 找到各种选项的相当全面的列表。 .

披露:我是acts_as_indexed 的作者。

关于mysql - 导轨 : searching with pseudo-relevancy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14618151/

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