问题描述
我想根据匹配对搜索结果进行排序。假设我使用 abc pqr xyz
进行搜索,那么它将返回结果,例如第一个拥有整个字符串的人,然后是 abc
,然后是 pqr
,然后是 xyz
。所以基本上结果将根据字符串匹配进行排序。 like
请查找当前的实现。
Model.rb
pg_search_scope :search,against: [:title],using: {
tsearch: {any_word: true},dMetaphone: {any_word: true,sort_only: true}
}
我已经安装了 fuzzystrmatch extension 并运行了 dMetaphone 迁移。
也试过
pg_search_scope :search,against: :title,using: {
tsearch: { any_word: true,prefix: true },dMetaphone: { any_word: true,prefix: true,sort_only: true }
},ranked_by: ":tsearch + (0.5 * :dMetaphone)"
也曾尝试根据 pg_search_rank
对记录进行排序,但对我不起作用。
对此的任何领导将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)