为什么django-sphinx只输出20个结果?我怎么能得到其余的?

时间:2010-04-19 22:59:05

标签: django sphinx django-sphinx

使用django-sphinx进行搜索给了我results._sphinx,它说有68个结果,但是当我迭代它们时,我只能得到它们的前20个。

我确定有一种方法可以解决这个问题,而且这是设计上的,但它正式将我从中脱颖而出。有人知道如何获得完整的查询集吗?

3 个答案:

答案 0 :(得分:2)

我终于明白了。

显然,查询集只返回20次点击,直到您访问查询集。或类似的东西。

所以,如果你明确想要迭代整个事情,你必须这样做:

for result in results[0:results.count()]:
    print result

或者那种效果,它会明确地查询整个事物。啊。这应该清楚地记录下来......但事实并非如此。

答案 1 :(得分:0)

在浏览源代码后,我明确设置了_limit变量。是否有作业,并发出实际限制:

qs = MyEntity.search.query(query_string)
qs._limit = limit
for result in qs:
    print result

答案 2 :(得分:0)

为我工作:

在sphinx配置文件中:

   max_matches     = 5000
在django代码中

   desc_obj = Dictionary.search.query( search_desc )
   desc_obj._maxmatches = 5000

或在设置中:

   SPHINX_MAX_MATCHES = 5000