elasticsearch - 将具有多个条件的 elasticsearch DSL 查询转换为 URI 搜索
问题描述
当我在 Kibana Dev 控制台上运行以下 Elasticsearch DSL 查询时,它会正确返回结果,我试图通过基于 URI 的查询运行相同的查询,因为 HTTP URL 不起作用。我已经尝试在 doc 上进行搜索并且很好,但没有获得将此查询构建为基于 HTTP 的 GET url 的确切方法。
GET _search
{
"size": 100,
"_source": [
"fieldname1",
"fieldname2"
],
"query": {
"bool": {
"must": {
"exists": {
"field": "fieldname2"
}
},
"must_not": {
"match": {
"fieldname2": "*IGNORE*"
}
}
}
}
}
请提供任何提示。
解决方案
上面的URI Search格式的查询可以写成:
GET /_search?q=_exists_:fieldname2 AND !fieldname2:"*IGNORE*"&_source=fieldname1,fieldname2&size=100
URI 中的参数q映射到query_string查询。
推荐阅读
- java - Android Firebase - 卡片未在 RecyclerView 和 NullPointerException 中显示
- php - 如何获取数组中的每个用户列表
- html - 让每个班级独一无二
- r - 有没有办法用已知格式修剪观察结果?
- gruntjs - Grunt 插件列表不可用
- javascript - 动态定义页面方向 - Vue Js
- c++ - 我是否在滥用 std::optional
- react-native - 我需要帮助我遇到问题属性“android:name”
标记必须是有效的 Java 类名 - java - Kafka Streams SessionWindows 中的节流
- javascript - HighMaps 不显示国家数据