elasticsearch查询有问题-[range]查询格式错误,应为[end\u object],但找到[field\u name]

mmvthczy  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(451)

我不知道下面的问题是什么。

  1. GET website/_search
  2. {
  3. "query": {
  4. "bool": {
  5. "filter": [
  6. {
  7. "range": {
  8. "@timestamp": {
  9. "gte": "now-1d/d",
  10. "lt": "now/d"
  11. }
  12. },
  13. "match": {
  14. "aspnet-request-url.keyword": "abc.com/Default.aspx"
  15. }
  16. }
  17. ]
  18. }
  19. }
  20. }

两者 range 以及 match 独立工作很好。
根据文档,当合并多个查询时,我们应该使用 must , filter , must-not 低于 bool 查询。
它仍然在给予 [range] malformed query, expected [END_OBJECT] but found [FIELD_NAME] .
感谢您的帮助。

wsewodh2

wsewodh21#

[range]查询格式错误,应为[end\u object],但找到[field\u name]
从上面的错误可以明显看出,查询的格式不正确。请参阅本文以了解有关查询和筛选器上下文的结构的更多信息。
如果缺少一些括号,请尝试下面的搜索查询

  1. {
  2. "query": {
  3. "bool": {
  4. "filter": [
  5. {
  6. "range": {
  7. "@timestamp": {
  8. "gte": "now-1d/d",
  9. "lt": "now/d"
  10. }
  11. }
  12. },
  13. { <-- note this
  14. "match": {
  15. "aspnet-request-url.keyword": "abc.com/Default.aspx"
  16. }
  17. }
  18. ]
  19. }
  20. }
  21. }
展开查看全部

相关问题