amazon-web-services - aws elasticsearch中长类型的范围查询
问题描述
我正在尝试查询 AWS 中的弹性搜索索引以获取质量属性大于 1000 的所有条目,该属性的数据类型为 Long。
我找到了范围查询并尝试过(参见下面的示例),但它什么也没返回,但是当我使用其他查询时,它们返回质量大于 1000 的属性,因此它们肯定在索引中。
这是我正在尝试的范围查询:
{
"method": "POST",
"index": "users",
"type": "user",
"path": "_search?filter_path=filter",
"body": {
"size": 20,
"from": 0,
"query": {
"bool": {
"must":[{
"range": {
"mass": {
"gte": 1000
}
}
}]
}
}
}
}
我没有收到任何错误消息,只有零命中。
解决方案
因此,导致您获得零命中的问题是您在中指定的filter_path参数
"path": "_search?filter_path=filter"
如官方文档中所述,filter_path 参数是有关 REST API 的常用选项的一部分。这意味着您始终可以添加该参数。
使用响应过滤,您可以减少 Elasticsearch 返回的响应。既然你定义了
_search?filter_path=filter
您可能会得到零命中,因为没有可以返回的过滤器元素。
推荐阅读
- python - 关于形状未对齐反向传播的错误
- python - 我收到 ValueError:无法将字符串转换为浮点数。任何人都可以编辑这个吗?
- wordpress - 在子目录中安装 Wordpress 作为插件域并删除 url 中的安装文件夹
- laravel - Laravel 速率限制会记住 X-Ratelimit-Remaining 来自其他节流路由 - 导致错误的请求过多
- java - 在注解处理器中使用 JavaPoet 编写 java 文件
- python - 尝试将两个 MFRC522 阅读器与一个 Raspberry Pi 3 一起使用
- c# - 错误:DataBinding:“System.Data.Common.DataRecordInternal”不包含名为“EmpName_vc”的属性
- ios - 将变量传递给 dataTask 异步函数
- java - 通过求和值将地图列表合并为单个地图
- twitter-bootstrap - Bootstrap 4:如何初始化模态包装插件