2015-10-28 3 views
1

Im пытается повторно искать базу данных elasticsearch.поиск с регулярным выражением в elasticsearch

Мой запрос до сих пор (ее не работает):

#!/usr/bin/env bash 

curl -XGET 'http://localhost:9200/logstash-2015.10.27/_search' -d \ 
'{ 
    query: { 
    "regexp": { 
     "@timestamp": { 
      value: ".*" 
     } 
    } 
    } 
}' | python -m json.tool 

и им результаты получения являются

{ 
    "error": "SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[DqJwlMoTQ3e8nyl4m7amGw][logstash-2015.10.27][0]: SearchParseException[[logstash-2015.10.27][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\n query: {\n  \"regexp\": {\n  \"@timestamp\": {\n   value: \".*\"\n  }\n  }\n }\n}]]]; nested: IllegalArgumentException[Invalid format: \".*\"]; }{[DqJwlMoTQ3e8nyl4m7amGw][logstash-2015.10.27][1]: SearchParseException[[logstash-2015.10.27][1]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\n query: {\n  \"regexp\": {\n  \"@timestamp\": {\n   value: \".*\"\n  }\n  }\n }\n}]]]; nested: IllegalArgumentException[Invalid format: \".*\"]; }{[DqJwlMoTQ3e8nyl4m7amGw][logstash-2015.10.27][2]: SearchParseException[[logstash-2015.10.27][2]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\n query: {\n  \"regexp\": {\n  \"@timestamp\": {\n   value: \".*\"\n  }\n  }\n }\n}]]]; nested: IllegalArgumentException[Invalid format: \".*\"]; }{[DqJwlMoTQ3e8nyl4m7amGw][logstash-2015.10.27][3]: SearchParseException[[logstash-2015.10.27][3]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\n query: {\n  \"regexp\": {\n  \"@timestamp\": {\n   value: \".*\"\n  }\n  }\n }\n}]]]; nested: IllegalArgumentException[Invalid format: \".*\"]; }{[DqJwlMoTQ3e8nyl4m7amGw][logstash-2015.10.27][4]: SearchParseException[[logstash-2015.10.27][4]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\n query: {\n  \"regexp\": {\n  \"@timestamp\": {\n   value: \".*\"\n  }\n  }\n }\n}]]]; nested: IllegalArgumentException[Invalid format: \".*\"]; }]", 
    "status": 400 
} 

событие, которое им пытаются найти этот

{ 
    "_index": "logstash-2015.10.27", 
    "_type": "logs", 
    "_id": "AVCml4MI2xxzjEtiGou0", 
    "_version": 1, 
    "_score": null, 
    "_source": { 
     "host": "server", 
     "@timestamp": "2015-10-27T00:00:00.142Z", 
     "type_instance": "free", 
     "plugin": "exec", 
     "plugin_instance": "available_memory", 
     "collectd_type": "gauge", 
     "value": 855, 
     "@version": "1" 
    }, 
    "sort": [ 
     1445904000142 
    ] 
} 

у меня есть googled вещи, но без какой-либо удачи.

======== обновление ==========

мне удалось запросить мой elasticsearch с этим

#!/usr/bin/env bash 

curl -XPOST 'http://localhost:9200/logstash-2015.10.27/_search' -d ' 
{ 
    "query": { 
     "bool": { 
      "must": { "range" : { "@timestamp" : { "gte" : "2015-10-27T00:00:01", "lte" : "2015-10-27T00:00:59"} }}, 
      "must": {"regexp" : { "host": "d027.*" }} 
     } 
    } 
}' 
+0

Вам нужно обернуть '' query' и value' в двойных кавычках: ES строго хочет JSON –

ответ

Смежные вопросы