aws elasticsearch中长类型的范围查询
Range query for long type in aws elasticsearch
我正在尝试查询 AWS 中的 elasticsearch 索引以获取质量属性大于 1000 的所有条目,该属性的数据类型为 Long。
我找到了范围查询并试过了(见下面的示例)但是它 return 什么都没有,但是当我使用其他查询时它们 return 属性的质量大于 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"
正如官方 documentation 中所述,filter_path 参数是有关 REST API 的常用选项的一部分。这意味着您可以随时添加该参数。
使用响应过滤,您可以减少 Elasticsearch 返回的响应。由于您定义了
_search?filter_path=filter
您可能会得到零命中,因为没有可以返回的过滤器元素。
我正在尝试查询 AWS 中的 elasticsearch 索引以获取质量属性大于 1000 的所有条目,该属性的数据类型为 Long。
我找到了范围查询并试过了(见下面的示例)但是它 return 什么都没有,但是当我使用其他查询时它们 return 属性的质量大于 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"
正如官方 documentation 中所述,filter_path 参数是有关 REST API 的常用选项的一部分。这意味着您可以随时添加该参数。
使用响应过滤,您可以减少 Elasticsearch 返回的响应。由于您定义了
_search?filter_path=filter
您可能会得到零命中,因为没有可以返回的过滤器元素。