0

我可以查询elasticsearch使用此命令,Elasticsearch时间戳查询

{ 
    "query" : { 
     "query_string" : { 
      "default_field" : "Domain", 
      "query" : "Domain : edelinefs" 
     } 
    } 
} 

,但我不能带过滤器@timestamp查询 “2017年4月10日00:00:00.000” 到“2017年4月11日23:59:59.000" 。任何机构都可以帮助我?

+0

你可以更新'filter'查询你想你的问题吗? – avr

回答

0

你可以做一个range过滤器,像这样:

{ 
    "query": { 
    "bool": { 
     "must": [ 
     { 
      "query_string": { 
      "default_field": "Domain", 
      "query": "edelinefs" 
      } 
     }, 
     { 
      "range": { 
      "timestamp": { 
       "gte": "2017-04-10T00:00:00.000", 
       "lte": "2017-04-11T23:59:59.000" 
      } 
      } 
     } 
     ] 
    } 
    } 
} 
+0

{ “错误”:{ “ROOT_CAUSE”:[ { “类型”: “parsing_exception”, “原因”: “[QUERY_STRING]畸形查询,预期[END_OBJECT],但实测值[FIELD_NAME]”, “行 “:8, ”栏“:9 } ], ”类型“: ”parsing_exception“, ”原因“: ”[QUERY_STRING]畸形查询,预期[END_OBJECT],但实测值[FIELD_NAME]“, ” line“:8, ”col“:9 }, ”status“:400 } –

+0

试着用这个更新后的查询:'{ ”q uery “:{ ”布尔“:{ ”必须“:[ { ”QUERY_STRING“:{ ”default_field“: ”域“, ”查询“: ”edelinefs“ } }, { ”范围“:{ ”时间戳“:{ ”GTE“: ”2017-04-10T00:00:00.000“, ”LTE“: ”2017-04-11T23:59:59.000“ } } } ] } } }' – avr

+1

谢谢你这么多先生,那个指挥工作很好 –