Elasticsearch DSL限制过滤器返回的结果多于指定的结果

时间:2015-03-10 19:37:09

标签: python elasticsearch

对弹性搜索很新,一般都是json。

我正在使用elasticsearch-dsl-py,以下是搜索文档:https://github.com/elastic/elasticsearch-dsl-py/blob/master/docs/search_dsl.rst

这是示例代码:

q = F("limit", value=1)
s = Account.search().filter(q)
response = s.execute()
for hit in response:
    print hit

以上将返回:

{'account': u'debug', 'proxy': u'127.0.0.1:8888', 'created_d...}
{'account': u'debug', 'proxy': u'127.0.0.1:8888', 'created_d...}
{'account': u'debug', 'proxy': u'127.0.0.1:8888', 'created_d...}
{'account': u'debug', 'proxy': u'127.0.0.1:8888', 'created_d...}
{'account': u'debug', 'proxy': u'127.0.0.1:8888', 'created_d...}
{'account': u'debug', 'proxy': u'127.0.0.1:8888', 'created_d...}
{'account': u'debug', 'proxy': u'127.0.0.1:8888', 'created_d...}
{'account': u'debug', 'proxy': u'127.0.0.1:8888', 'created_d...}
{'account': u'debug', 'proxy': u'127.0.0.1:8888', 'created_d...}

不明白为什么它会返回超过1个结果。

1 个答案:

答案 0 :(得分:0)

执行您正在寻找的内容的一种更简单的方法是使用Search类支持的切片。

search = Account.search()
response = search[:1].execute()
for hit in response:
    print hit