3

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

我敢肯定有办法解决这个问题,这是设计使然,但它正式让我大吃一惊。有人知道如何获得完整的查询集吗?

4

3 回答 3

2

我终于想通了。

显然,在您访问查询集之前,查询集仅返回 20 次命中。或类似的东西。

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

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

或者类似的东西,它将明确地查询整个事情。啊。这应该被清楚地记录在案……但事实并非如此。

于 2010-04-19T23:32:04.370 回答
0

在破解源代码后,我明确设置了 _limit 变量。完成这项工作,并发出一个实际限制:

qs = MyEntity.search.query(query_string)
qs._limit = limit
for result in qs:
    print result
于 2011-02-10T18:00:19.767 回答
0

为我工作:

在狮身人面像配置文件中:

   max_matches     = 5000

在 Django 代码中:

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

或在设置中:

   SPHINX_MAX_MATCHES = 5000
于 2015-10-13T23:10:31.587 回答