代码之家  ›  专栏  ›  技术社区  ›  mlissner

为什么django sphinx只输出20个结果?剩下的我怎么办?

  •  3
  • mlissner  · 技术社区  · 16 年前

    使用django sphinx搜索会得到结果。sphinx说有68个结果,但当我迭代这些结果时,只能得到其中的前20个。

    我相信这是有办法的,而且这是设计的,但这让我很难受。有人知道如何得到完整的查询集吗?

    3 回复  |  直到 16 年前
        1
  •  2
  •   mlissner    16 年前

    我终于明白了。

    显然,在您访问queryset之前,queryset只返回20次点击。或者类似的。

    因此,如果您明确希望迭代整个过程,则必须执行以下操作:

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

    或者类似的东西,它会显式地查询整个东西。啊。这应该有明确的文件…但不是。

        2
  •  0
  •   royal    15 年前

    在破解源代码之后,我显式地设置了\u limit变量。。执行任务,并发布实际限制:

    qs = MyEntity.search.query(query_string)
    qs._limit = limit
    for result in qs:
        print result
    
        3
  •  0
  •   iqmaker    10 年前

    为我工作:

       max_matches     = 5000
    

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

    或在设置中:

       SPHINX_MAX_MATCHES = 5000