我正在使用status field
和range
查询弹性搜索,但收到错误:
"类型":"parsing_exception","原因":"[status]查询格式错误,查询名称后无start_object"
查询如下:
{
"_source": {
"includes": []
},
"query": {
"bool": {
"must": [
{
"status": "IN_PROGRESS"
},
{
"range": {
"requestDate": {
"gte": "2018-10-01T08:00:00.000Z",
}
}
}
]
}
},
"sort": {
"requestDate": {
"order": "desc"
}
}
}
错误在于您没有指定查询类型-术语或匹配-针对状态字段。因此,如果status是文本数据类型,您应该执行匹配查询:
{
"_source": {
"includes": []
},
"query": {
"bool": {
"must": [
{
"match":{ "status": "IN_PROGRESS"
}},
{
"range": {
"requestDate": {
"gte": "2018-10-01T08:00:00.000Z",
}
}
}
]
}
},
"sort": {
"requestDate": {
"order": "desc"
}
}
}
问题内容: 我们有一种情况,我们必须使用“ OR”条件进行范围查询。使用一个查询,它工作正常,但是使用多个查询触发时出错。 调用模板时查询 错误 如果在must子句中添加它,则相同,它在“ AND”条件下可以完美工作。您能否以“ AND”和“ OR”条件帮助构架模板? 问题答案: 您快到了,只需要在到达数组的最后一个元素时让小胡子知道即可。因此,您的模板应如下所示(即,我们在每个元素之后添加逗号(
问题内容: 为什么此查询给我一个解析异常?如果我把它移开,它似乎确实起作用。但是我需要在其中带有query_string的布尔值。我该如何工作? 问题答案: 您应该使用查询过滤器,它将所有查询包装到过滤器中。否则,您将得到解析错误。 您需要将零件更改为: @Edit:由于我看到人们可能会注意到,我只粘贴了整个查询的更改部分,包括部分(而不是整个),所以这里是修改后的全部:
我正在努力为弹性搜索制定正确的API搜索调用,这将要求在过去1小时内获得我想要的ipv4address。 第一次尝试: {“error”:{“root\u cause”:[{“type”:“parsing\u exception”,“reason”:“未知键,用于[范围]中的START\u对象。”,“line”:10,“col”:12}],“type”:“parsing\u exception”,
问题内容: 当运行这个查询 在这样的 它将抛出一个异常,即语法不好,很明显,因为我可以在sql-developer中运行相同的查询。 这是错误吗?我可以同时使用准备好的语句和间隔吗? 问题答案: 整个表达式都是文字,您不能简单地用变量(参数)替换它的一部分。请改用该函数。
问题内容: 我正在尝试将范围查询与elasticsearch一起使用 但是弹性返回没有结果。我发现系统存在字符串包含或问题 这是该字段的映射: 问题答案:
问题内容: 我尝试学习Elasticsearch将其添加到我的Rails应用程序中。我想对2个字段(就像它们只是一个字段)执行一次multi_match查询,并且还要对另一个必须等于1的字段(状态)进行过滤。 错误是: 请求中有什么问题?如何一起执行multi_match和BOOL? 问题答案: 使用过滤查询: 与Elasticsearch 5相同的查询:
问题内容: 嗨,我有供cpu使用的文档,其中包含date_time字段。现在,我想查找日期范围内的avg cpu用法。我想出了以下解决方案。如果我是Elastic Search的新手,请告诉我是否有任何先进或更好的方法。 现在,上面的查询返回我期望的文档,该文档在/日期范围内。现在,我要做的是,使用这些文档找到所有唯一的日期,并将这些唯一的日期组合存储在中,然后针对其中的所有项目执行以下查询 现在
这是一个关于2个查询的故事。一个返回结果,而另一个不返回结果。为什么? 返回结果的查询: