elasticsearch,Python,elasticsearch" /> elasticsearch,Python,elasticsearch" />

python:如何输入字符串并将其用作查询匹配elasticsearch

python:如何输入字符串并将其用作查询匹配elasticsearch,python,elasticsearch,Python,elasticsearch,我正在尝试编写一个简单的python脚本,它应该要求shell插入一个字符串,并在匹配查询中将其用作“匹配字符串”。我在这里发布脚本,以便更好地理解问题 client = Elasticsearch() query_string = raw_input("Enter your query string: ") print(query_string) s = Search(using=client, index="enron_test" .query("match", message_

我正在尝试编写一个简单的
python
脚本,它应该要求shell插入一个字符串,并在匹配查询中将其用作“匹配字符串”。我在这里发布脚本,以便更好地理解问题

client = Elasticsearch()

query_string = raw_input("Enter your query string: ")
print(query_string)

s = Search(using=client, index="enron_test"
    .query("match", message_body=query_string))

response = s.execute()
实际上,我应该获得所有
json
文档(每个文档代表一封电子邮件),其中包含
message\u body
字段中的字符串“query\u string”

问题是,当我运行脚本时,会出现以下错误:
AttributeError:'str'对象没有属性'query'

我是Elasticsearch的新手,我错在哪里?或者可能我正在尝试做的事情是不可能的?

现在您正在调用字符串“enrox\u test”上的查询方法


我不知道你在使用什么库,所以我无法检查语法。但我认为您在“enron_text”和“.query(…”

我使用的是elasticsearch import elasticsearch和elasticsearch dsl import Search中的库
您在“enron text”后面缺少一个右括号。您可以在此处查看其中一个搜索示例,了解此处搜索请求的语法:如果这解决了问题,请关闭该问题并标记为答案。它可以帮助其他出现类似错误的人:)