我正在尝试查询AWS中的Elasticsearch索引以获取mass属性大于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"
如官方documentation所述,filter_path参数是有关REST API的常用选项的一部分。这意味着您可以随时添加该参数。
使用响应过滤,您可以减少Elasticsearch返回的响应。自定义
_search?filter_path=filter
您可能会获得零点击,因为没有可以返回的过滤器元素。
关于amazon-web-services - AWS ElasticSearch中长类型的范围查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57793826/