数据结构如下:
{
"_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 处理下就好了
|