2017-01-11 1 views
1

Я новичок в Elasticsearch и хочу узнать, как писать разные запросы для подстрок. Как мы делаем в SQL:Агрегация с регулярными выражениями в Elasticsearch

SELECT distinct substring(abc,3,5) 
FROM table_a 

У меня есть этот запрос, и я хочу, чтобы сделать отличный выбор на substring(message,35,10) часть сообщения:

{ 
"query" : 
{ "range":{ 
     "@timestamp" : { 
      "gte" : "now-6d/d", 
      "lt" : "now-5d/d" 
     } 
}}, 
"_source":["@timestamp","message"], 
"size":100, 
"from":0 
} 

Я думаю, что я должен добавить что-то вроде:

"aggs": { 
    "distinct": { 
     "terms": { 
      "field": "message",--should have something like substring 
      "size": 0 
     } 
    } 
} 

Благодарим за помощь.

ответ

0

Вы можете использовать "script" вместо "field" внутри вашего Условия агрегирования. Здесь вы можете выполнить подстроку или любую общую операцию с значением поля.

Примечание: Использование сценария внутри агрегации может сделать выполнение запроса очень медленным!

Terms Aggregation - Scripts

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