使用django-sphinx进行搜索给了我results._sphinx,它说有68个结果,但是当我迭代它们时,我只能得到它们的前20个。
我确定有一种方法可以解决这个问题,而且这是设计上的,但它正式将我从中脱颖而出。有人知道如何获得完整的查询集吗?
答案 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