Tôi không nghĩ rằng có một build-in đường cho rằng, nhưng nó phải là khá dễ dàng để đạt được thông qua một terms facet
gì bạn phải làm là:
- Lưu tất cả các truy vấn từ khóa cùng với một dấu thời gian trong một chỉ số elasticsearch
- Chạy một truy vấn match_all lọc bởi khoảng thời gian bạn quan tâm và áp dụng một khía cạnh hạn vào nó
Thật không may là tôi không có thời gian để viết cho bạn một ví dụ, nhưng điều đó sẽ dẫn bạn đến giải pháp.
Dưới đây là một ví dụ:
// Demo index
curl -XDELETE 'http://localhost:9200/queries/'
curl -XPUT 'http://localhost:9200/queries/'
// Add some data
curl -XPUT 'http://localhost:9200/queries/query/1' -d '
{
"date": "2013-02-19T12:57:23",
"query": "Trying out ElasticSearch, so far so good?"
}'
curl -XPUT 'http://localhost:9200/queries/query/2' -d '
{
"date": "2013-03-02T11:27:23",
"query": "Lets give ElasticSearch another try"
}'
curl -XPUT 'http://localhost:9200/queries/query/3' -d '
{
"date": "2013-04-02T08:27:23",
"query": "OK, why dont we stick to SOLR?"
}'
curl -XPUT 'http://localhost:9200/queries/query/4' -d '
{
"date": "2013-04-19T11:27:23",
"query": "Couse ElasticSearch is so much cooler, its bonsai cool"
}'
// Query it
curl -XGET 'http://localhost:9200/queries/query/_search?pretty=true' -d '
{
"query" : {
"filtered" : {
"filter" : {
"range" : {
"date" : {
"gte" : "2013-01-01T00:00:00",
"lt" : "2013-04-01T00:00:00"
}
}
},
"query" : {
"match_all" : {}
}
}
},
"facets": {
"keywords": {
"terms": {
"field": "query"
}
}
}
}
'
Điều chỉnh phạm vi ngày trong truy vấn để xem các thay đổi của sản lượng
Cảm ơn, tôi sẽ xem xét nó. Nếu bạn có thời gian sau này, xin vui lòng viết một ví dụ. – flamecto
Tôi đã cập nhật câu trả lời, hy vọng điều này sẽ giúp bạn – Thorsten
Có vẻ tốt, cảm ơn một lần nữa! – flamecto