rest - Elasticsearch - 在无法识别的 url 中指定参数
问题描述
我是弹性搜索的新手,实际上我正在尝试使用 REST API 从弹性中检索一些数据。
URL = "http://localhost:9200/houses*/_search"
filter_path = 'hits.hits._source'
city = "Las Vegas"
size = 10
sort = 'review_count:desc'
PARAMS = {'filter_path': filter_path, 'city': city 'size': size, 'sort': sort}
print(requests.get(url=URL, params=PARAMS).text)
request = requests.get(url=URL, params=PARAMS)
data = request.json()
我收到以下错误,说城市未被识别为参数,但它是我的数据字段之一。
{'error': {'root_cause': [{'type': 'illegal_argument_exception', 'reason': 'request [/houses*/_search] contains unrecognized parameter: [city]'}], 'type': 'illegal_argument_exception', 'reason': 'request [/houses*/_search] contains unrecognized parameter: [city]'}, 'status': 400}
如果您弄清楚它为什么不起作用,我会很高兴:)
谢谢阅读。
解决方案
问题是city
参数。如果你想在你的 URL 中发送一个查询,你需要通过q
参数来做,像这样:
filter_path = 'hits.hits._source'
query = 'city:"Las Vegas"'
size = 10
sort = 'review_count:desc'
PARAMS = {'filter_path': filter_path, 'q': query 'size': size, 'sort': sort}
其余的看起来不错,应该可以工作。
推荐阅读
- python - 使用python合并数据和字符串
- asp.net - (asp.net core mvc)如何在UI层中使用identityUser与实体层中的产品
- python - 使用 python eve 将文件上传到 Amazon S3
- python - 使用条件 groupby 计算分类列的百分比并在 Python 中计数
- python - Python禁用键盘的某些键
- java - Kafka POM 依赖版本问题
- enterprise-architect - Enterprise Architect Schema Composer 根类基数
- php - Laravel Eloquent concat 和 groupBy() 并返回每个组的一个标题
- python - 如何使用 json.dumps 将带有花括号的 dict 值转储到 JSON?
- java - 下载后如何通过意图打开文件?