如何排除searchkick中的记录?
How to exclude records in searchkick?
我需要从 searchkick 中排除少于 3 个标签的记录。现在,我的 search_data 函数如下:
def search_data
{
...
tag_ids: tags.map(&:id)
}
end
我可以这样做吗?
def search_data
return nil if tags.count < 3
{
...
tag_ids: tags.map(&:id)
}
end
或者我可以在执行 lookup() 时添加一些条件,以便它只搜索具有 tag_ids 数组且具有 3 个或更多 ID 的记录吗? (除了添加 tag_count 字段并重新索引所有内容外?)
谢谢!
Searchkick 提供了定义 should_index?
方法的能力,该方法完全符合您的要求。看看 here!
我需要从 searchkick 中排除少于 3 个标签的记录。现在,我的 search_data 函数如下:
def search_data
{
...
tag_ids: tags.map(&:id)
}
end
我可以这样做吗?
def search_data
return nil if tags.count < 3
{
...
tag_ids: tags.map(&:id)
}
end
或者我可以在执行 lookup() 时添加一些条件,以便它只搜索具有 tag_ids 数组且具有 3 个或更多 ID 的记录吗? (除了添加 tag_count 字段并重新索引所有内容外?)
谢谢!
Searchkick 提供了定义 should_index?
方法的能力,该方法完全符合您的要求。看看 here!