2016-11-09 5 views
0

У меня есть следующие данные в elasticsearch. Я хочу агрегировать на основе «Dest IP» после сопоставления для определенного значения «Source MAC Addr». Как достичь этого, используя запрос elasticsearch из javascript.Запрос Elasticsearch от javascript для доступа к вложенному полю

{ 
"took" : 2, 
"timed_out" : false, 
"_shards" : { 
"total" : 5, 
"successful" : 5, 
"failed" : 0 
}, 
"hits" : { 
"total" : 2, 
"max_score" : 1.0, 
"hits" : [ { 
    "_index" : "logstash-1", 
    "_type" : "packet", 
    "_id" : "bcb57f445084cc0e474366bf892f6b4ab9162a4e", 
    "_score" : 1.0, 
    "_source" : { 
    "@source" : "logstash", 
    "@source_host" : "03", 
    "@message" : "72", 
    "@tags" : [ ], 
    "@fields" : { 
     "Protocol Type" : "TCP", 
     "Dst Domain" : "USER1", 
     "No" : 72, 
     "Timestamp" : "2016-11-08 10:46:57.691", 
     "Source IP" : "10.10.10.10", 
     "Source MAC Addr" : "00:00:00:00:00:00", 
     "Length" : 1480, 
     "Dest MAC Addr" : "ad:ad:ad:ad:ad:ad", 
     "Src -> Dst" : "10.10.10.10 -> 20.20.20.20", 
     "TTL" : 60, 
     "Src Domain" : "act", 
     "logger" : "logger", 
     "Dest IP" : "20.20.20.20", 
     "levelname" : "INFO", 
     "Size" : 100 
    }, 
    } 
}, { 
    "_index" : "logstash", 
    "_type" : "packet", 
    "_id" : "d6ff9ac16f70dc2c4b3d599c74489475db124fd7", 
    "_score" : 1.0, 
    "_source" : { 
    "message" : "aaaa\n", 
    "tags" : [ "_jsonparsefailure" ], 
    "@version" : "1", 
    "@timestamp" : "2016-11-08T04:11:30.663Z", 
    "type" : "packet", 
    "host" : "10.10.10.10", 
    "fingerprint" : "d6ff9ac16f70dc2c4b3d599c74489475db124fd7" 
    } 
} ] 
} 
} 
+0

хорошо это, кажется, результат запроса, так что это было бы удобно также включить этот запрос, я все-таки не получить то, что вы хотите, чтобы агрегирование, поэтому запрос, отфильтрованный по IP и MAC, должен выполнять работу без агрегации, что также может быть выполнено с помощью первой фильтрации по IP-адресу и t наполнитель – HolgT

ответ

0

хорошо это, кажется, результат запроса, так что это было бы удобно также включить этот запрос, до сих пор я не понимаю, какого рода агрегирование вы хотите, так что запрос фильтруется IP и MAC должны делать работа, без агрегации, которая также может быть сделано путем первой фильтрации по IP Адрес, а затем агрегат

"aggs": { 
    "by_mac_addr": { 
     "terms": { 
     "field": "Source MAC Addr", 
     "order": { 
      "_term": "asc" 
     }, 
     "size": 1000 
     } 
    } 

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

  • Нет связанных вопросов^_^