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”后面缺少一个右括号。您可以在此处查看其中一个搜索示例,了解此处搜索请求的语法:如果这解决了问题,请关闭该问题并标记为答案。它可以帮助其他出现类似错误的人:)