
数据结构如下:
{ "_index" : "movies", "_type" : "doc", "_id" : "618", "_score" : 1.0, "_source" : { "movieid" : "480", "title" : "Jurassic Park (1993)", "genres" : "Action|Adventure|Sci-Fi|Thriller", "rownum" : 618 } }, { "_index" : "movies", "_type" : "doc", "_id" : "494", "_score" : 1.0, "_source" : { "movieid" : "356", "title" : "Forrest Gump (1994)", "genres" : "Comedy|Drama|Romance|War", "rownum" : 494 } } 现在想按 title 中的年份查询每个年代电影个数占比. Jurassic Park (1993)与 Forrest Gump (1994)同属九十年代。
如果电影库中一共有 100 条电影记录,九十年代有 70 部,则九十年代占比 70%.
1 jasonz 2019-06-06 12:09:54 +08:00 regexp-query? |
2 jasonz 2019-06-06 12:10:59 +08:00 感觉效率可能有问题,或者直接处理好单独存个年代字段? |
3 wolfie 2019-06-06 13:45:41 +08:00 `199?` 通配符查询? |
4 gaojjx 2019-06-06 13:48:59 +08:00 不单独加一个年代字段吗 |
5 SakuraKuma 2019-06-06 15:37:15 +08:00 没年份的字段? 有的话 aggs 就好了. |
6 996icu 2019-06-06 16:02:31 +08:00 这样估计需要你先根据年份规则分组,太麻烦了,不如直接加个年代字段来的痛快 |
7 airfling 2019-06-06 16:06:40 +08:00 那你为啥不把这个时间提取出来加个 year 的字段,然后按照 year 进行处理,你只需要新建个索引,用 logstash 处理下就好了 |