python - elasticsearch7 python search() api使用HTTP POST方法而不是HTTP GET
问题描述
我有一个带有映射的弹性搜索索引“job-index”
{
"mappings": {
"properties": {
"join_field": {
"type": "join",
"relations": {
"job": "checkpoint"
}
}
}
}
}
当我执行
获取 /job-index/_search
{
"query": {
"term": {
"join_field.name": "job"
}
}
}
它返回所有工作类型的文档。
但是当我使用 HTTP POST 执行相同的查询时,它返回 0 个命中。
我正在使用 elasticsearch7 python,它使用 HTTP POST 作为搜索 API。下面是我正在使用的python代码
from elasticsearch7 import Elasticsearch
es7 = Elasticsearch('localhost:9200')
resp = es7.search(body=json.dumps(payload), index=self.job_index)
以下是日志
DEBUG:urllib3.connectionpool:http://localhost:9200 "POST /job-index/_search HTTP/1.1" 200 160
INFO:elasticsearch:POST http://localhost:9200/job-index/_search [status:200 request:0.006s]
DEBUG:elasticsearch:> {"query": {"term": {"join_field.name": "job"}}}
DEBUG:elasticsearch:< {"took":2,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":0,"relation":"eq"},"max_score":null,"hits":[]}}
解决方案
推荐阅读
- javascript - 如何在反应中正确更新状态
- javascript - shopify 应用程序的存储服务
- angular - 如果该文件不存在,我该如何指向另一个文件?
- mysql - 在mysql中获取列名作为别名时从表中选择*
- php - 无法在 Debian9 上使用 PHP7 启用 XMLWriter 模块
- html - icecast 流 html5 播放器音频标签
- r - R:将所有数据帧行转换为字符向量
- python-3.x - 在 z3 [Python] 中调整 BitVec 的大小
- javascript - javascript node.js 的语音识别
- javascript - React js,根据值设置类