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

时间:2017-06-24 09:49:46

标签: 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_body=query_string))

response = s.execute()

实际上,我应该获取json字段中包含字符串“query_string”的所有message_body文档(每个代表一封电子邮件)。

问题是,当我运行脚本时,我收到此错误:AttributeError: 'str' object has no attribute 'query'。 我是Elasticsearch的新手,我哪里错了?或者也许我想做的事情是不可能的?

1 个答案:

答案 0 :(得分:1)

现在你在字符串“enrox_test”上调用查询方法。

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

之间的东西