我在尝试什么 es2csv -u http://localhost:9200/ -r -q '{ "query": {"match_all": {}},"script_fields":{"field_name": {"script": {"source": "calculations","lang": "painless" }}}}' -i index -f field_name --debug -o output.csv
但它给了我错误
File "/usr/bin/es2csv", line 8, in <module>
sys.exit(main())
File "/usr/lib/python2.7/site-packages/es2csv_cli.py", line 53, in main
es.search_query()
File "/usr/lib/python2.7/site-packages/es2csv.py", line 26, in f_retry
return f(*args,**kwargs)
File "/usr/lib/python2.7/site-packages/es2csv.py", line 126, in search_query
res = self.es_conn.search(**search_args)
File "/usr/lib/python2.7/site-packages/elasticsearch/client/utils.py", line 152, in _wrapped
return func(*args, params=params, headers=headers,**kwargs)
File "/usr/lib/python2.7/site-packages/elasticsearch/client/__init__.py", line 1663, in search
body=body,
File "/usr/lib/python2.7/site-packages/elasticsearch/transport.py", line 392, in perform_request
raise e
elasticsearch.exceptions.RequestError: RequestError(400, u'search_phase_execution_exception',
u'compile error')
任何我遗漏或做错的事情。提前谢谢
1条答案
按热度按时间pzfprimi1#
我不熟悉w/
es2csv
但展开的查询如下所示:你得到编译错误是因为
calculations
是一个全局未定义的变量。所以要么换成doc.calculations.value
或者类似的,但我怀疑它是一个值数组,在这种情况下,您可能更希望使用"_source": "calculations"
而不是script_field
刚刚回来calculations
:以更简洁的形式:
这个
match_all
查询可以完全忽略: