2017-01-11 15 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

お客様の用語集合の中に"field"の代わりに"script"を使用できます。ここでは、部分文字列またはフィールド値を使用した共通操作を実行できます。

注:集約内でスクリプトを使用すると、クエリの実行が非常に遅くなる可能性があります。

Terms Aggregation - Scripts