ruby-on-rails - pg_search gem 返回重复项
问题描述
我正在使用pg_search gem在模型中进行搜索,并注意到某些搜索返回相同结果的重复。
class Client < ActiveRecord::Base
include PgSearch::Model
pg_search_scope :client_search,
against: [:name, :mindbody_id, :phone, :unique_mb],
associated_against: {
address: [:phone, :street],
user: [:email],
location: [:name]
},
using: {
tsearch: {
prefix: true
}
}
...
end
当我搜索时Client.client_search("abc")
,我的结果数组包含相同的Client
多次。每个条目都有相同的 ID,结果似乎无法区分。
知道为什么结果重复吗?
解决方案
您需要将against
零件移动到associated_against
相关模型上的搜索列中。
pg_search_scope :client_search,
associated_against: {
client: [:name, :mindbody_id, :phone, :unique_mb],
address: [:phone, :street],
user: [:email],
location: [:name]
},
using: {
tsearch: {
prefix: true
}
}
...
推荐阅读
- python - Python cv2 90:90 长宽比矩形裁剪图像
- java - 在这个例子中如何使用 toString?
- c++ - clang交叉编译命令找不到头文件
- android - Android 如何在社交媒体上一起分享 URL + 文本
- python - Python递归函数失败
- python - ExtraTreesClassifier 的特征重要性返回全零
- python - 如何使 keras 层接受不同形状的张量
- tensorflow - 如何将 Onnx 模型 (.onnx) 转换为 Tensorflow (.pb) 模型
- android - RecyclerView 显示没有折叠单元格?
- typescript - 如何在 lerna + yarn 工作区 monorepo 中配置 jest + 酶