gpt4 book ai didi

django - 合并两个 Haystack 查询集的结果

转载 作者:行者123 更新时间:2023-11-29 02:50:06 25 4
gpt4 key购买 nike

我通过执行以下操作获得了两个查询集:

q = Q(is_visible='true')
q |= Q(user='some_user')
q &= Q(text=request.GET.get('query', ''))

sqs1 = SearchQuerySet().filter(q)

sqs2 = SearchQuerySet().models(model.Some).filter(text=request.GET.get('query', ''))

如果我只是将这两个查询集组合在一起,我得不到我想要的。由于元素将针对其特定查询评估分数。我想要的是在将这两个查询传递给 SearchQuerySet 之前以某种方式组合它们,以便搜索后端计算整个集合的分数。

我想以某种方式将第二个查询放入第一个查询的 Q 链中,但我无法弄清楚如何仅基于模型进行搜索。

最佳答案

所以我使用以下查询解决了这个问题:

request_text = request.GET.get('query', '')
user = request.user
sqs = SearchQuerySet().filter(text=request_text).exclude(~Q(user='some_user') | Q(is_visible='false')

看起来,可以使用过滤器和排除来重新表述问题。

关于django - 合并两个 Haystack 查询集的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26826645/

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