我有以下工作查询,使用 CURL:
curl -X GET 'http://myhost/myindex/_search?q=text:%7B1933%20TO%201949%7D'
它标识索引 myindex 中的所有文档,在文本字段(字符串类型)中包含对 1933 年到 1949 年之间日期的提及。我想从 Python 以编程方式使用这个查询,从这个意义上说,我安装了 Python ElasticSearch 客户端,Pye :
from elasticsearch import ElasticSearch
from pyes import *
然后我想打电话
es = ElasticSearch('myhost')
totalDocs = es.search('myindex', body={'query':{'query_string':{'query': 'text:%7B1933%20TO%201949%7D'}},"size":0})['hits']['total']
但这种语法不起作用。同样重要的是,我只查看这些日期提及的文本字段。有什么方法可以在 Python 中使用初始查询?非常感谢!
稍后编辑:我也试过这样:
totalDocs = es.search('myindex', 'text:%7B1933%20TO%201949%7D')['hits']['total']
它可以工作,但它根本不返回任何文件。
实际上我的问题恢复到这个问题:[ ElasticSearch - 指定字符串字段的范围