gpt4 book ai didi

ruby-on-rails - 具有多个过滤器的 Sunspot Solr facet

转载 作者:行者123 更新时间:2023-12-05 00:38:50 25 4
gpt4 key购买 nike

在 sunspot solr 中,我们可以通过 facet 将具有相似属性的记录分组。但是是否可以从两个属性中进行分面过滤?

我尝试在我的搜索中这样做:

facet_search = User.search do
facet :attribute1, :attribute2
end


facet_search.facet(:attribute1, :attribute2)

有了这个,我不断得到 nil 值,并且我确信在属性 1 和属性 2 处有具有相似值的记录。

假设有两条记录的属性 1 的值为“orange”。这两条记录在属性 2 处的值为“eagles”。

太阳黑子中是否有一个功能可以用来根据两列对记录进行分组,我该怎么做?

我在这里先向您的帮助表示感谢。

最佳答案

你真的是说你要过滤吗?分面只是带回该属性的前 n 个唯一值。因此,如果属性 1 包含颜色,您将返回橙色、红色、蓝色等任何与您当前搜索匹配的独特颜色。单独分面不会过滤您的搜索结果。

从您的问题来看,我认为您想按属性 1 中的某个值和属性 2 中的某个值进行过滤。为此,您的搜索将更像:

facet_search = User.search do
# Filter my results...
with(:attribute1).equal_to("orange")
with(:attribute2).equal_to("eagle")
end

您仍然可以包含 facet :attribute1如果您想获得属性 1 的唯一值以显示在您的 UI 或其他内容中。请注意,将 :attribute1 声明为 facet 不会对搜索施加过滤器。

关于ruby-on-rails - 具有多个过滤器的 Sunspot Solr facet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5220533/

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