使用查询参数时,Elasticsearch Helpers Scan API出错

时间:2015-10-23 11:21:07

标签: elasticsearch

我正在使用Elasticsearch Helpers Scan API输出索引中的所有批量记录。 我想先使用查询参数来过滤某些记录,然后使用扫描,我在此处参考扫描的标准文档。但是一旦我应用查询参数,它就会给我一个400错误。这是我的代码和错误。

脚本:

import elasticsearch
import elasticsearch.exceptions 
import elasticsearch.helpers as helpers
import time


es = elasticsearch.Elasticsearch('XXX.XX.XX.XX'],retry_on_timeout=True)  


scanResp = helpers.scan(client=es,scroll="5m",query={"match":{"channel_id": "34"}},index="my-index",timeout="10m",size=500)

resp={}
start_time = time.time()
for resp in scanResp:
    data = resp
    #print data.values()[3]


print("--- %s seconds ---" % (time.time() - start_time))

输出:

  

RequestError:TransportError(400,   u'SearchPhaseExecutionException [无法执行阶段[init_scan],   所有分片都失败了; shardFailures   {[lEAncRHvQHKpPqlfw1NWEQ] [DEV-godam] [0]:   SearchParseException [[dev-godam] [0]:from [-1],size [-1]:Parse Failure   [无法解析来源[{“match”:{“master_channel_id”:“34”}}]]];   嵌套:SearchParseException [[dev-godam] [0]:从[-1],size [-1]:Parse   失败[没有解析元素[match]]];   } {[lEAncRHvQHKpPqlfw1NWEQ] [DEV-godam] [1]:   SearchParseException [[dev-godam] [1]:from [-1],size [-1]:Parse Failure   [无法解析来源[{“match”:{“master_channel_id”:“34”}}]]];   嵌套:SearchParseException [[dev-godam] [1]:从[-1]开始,大小为[-1]:Parse   失败[没有解析元素[match]]];   } {[lEAncRHvQHKpPqlfw1NWEQ] [DEV-godam] [2]:   SearchParseException [[dev-godam] [2]:from [-1],size [-1]:Parse Failure   [无法解析来源[{“match”:{“master_channel_id”:“34”}}]]];   嵌套:SearchParseException [[dev-godam] [2]:从[-1],size [-1]:Parse   失败[没有解析元素[match]]];   } {[lEAncRHvQHKpPqlfw1NWEQ] [DEV-godam] [3]:   SearchParseException [[dev-godam] [3]:from [-1],size [-1]:Parse Failure   [无法解析来源[{“match”:{“master_channel_id”:“34”}}]]];   嵌套:SearchParseException [[dev-godam] [3]:从[-1],size [-1]:Parse   失败[没有解析元素[match]]];   } {[lEAncRHvQHKpPqlfw1NWEQ] [DEV-godam] [4]:   SearchParseException [[dev-godam] [4]:from [-1],size [-1]:Parse Failure   [无法解析来源[{“match”:{“master_channel_id”:“34”}}]]];   嵌套:SearchParseException [[dev-godam] [4]:从[-1],size [-1]:Parse   失败[没有解析元素[match]]]; }]')

在互联网上查看但不确定我在这里做错了什么。

感谢任何帮助

1 个答案:

答案 0 :(得分:2)

您的T *x参数应该是字典而不是字符串并使用双引号而不是单引号,请尝试以下操作:

body