将具有多个条件的 elasticsearch DSL 查询转换为 URI 搜索



当我在 Kibana Dev 控制台上运行下面的 Elasticsearch DSL 查询时,它会正确返回结果,我试图通过基于 URI 的查询运行相同的查询,因为 HTTP URL 不起作用。我尝试在文档上搜索并且很好,但没有得到将此查询构建为基于 HTTP 的 GET url 的确切方法。

GET _search
{
"size": 100,
"_source": [
"fieldname1",
"fieldname2"
],
"query": {
"bool": {
"must": {
"exists": {
"field": "fieldname2"
}
},
"must_not": {
"match": {
"fieldname2": "*IGNORE*"
}
}
}
}
}

请提供任何提示。

上述 URI 搜索格式的查询可以写成:

GET /_search?q=_exists_:fieldname2 AND !fieldname2:"*IGNORE*"&_source=fieldname1,fieldname2&size=100

URI 中的参数q映射到query_string查询。

最新更新