愚者求师之过,智者从师之长。

联合排序问题

Elasticsearch | 作者 依诺 | 发布于2018年02月01日 | 阅读数:2073

不同表的数据,知道用mysql怎么实现,但是用es,有点没有头绪
已邀请:

依诺

赞同来自:

@Medcl 你好,想跟你请教个问题:
我现在有一个问题,我们这边现在有一个需求,如下图,搜索结果中包含资讯,直播,试用,节目视频,不是分组搜索,是综合搜索,但是这4种类别,每种的分值的算法还不一样,如果用MySQL的话,我知道怎么写,sql语句结构如下:
select * from(select title,资讯分值算法 as score from news where title like'%关键字%'
union
select title,直播分值算法 as score from live where title like'%关键字%'
union
select title,试用分值算法 as score from trial where title like'%关键字%'
union 
select title,节目视频分值算法 as score from video where title like'%关键字%')as t order by score desc limit 0,10
如果用es的话,有点没有头绪,请问需要怎么做?

WX20180201-114245@2x.png

 

kennywu76 - Wood

赞同来自:

你看下field collapse能否满足你的需求,参考:https://www.elastic.co/guide/e ... lapse
 
思路上,所有文档放在一个索引里,其中用一个字段比如category表示内容类型,用关键字搜索的时候,指定category为collapse字段实现分组功能。

medcl - 今晚打老虎。

赞同来自:

这里有一篇文章介绍
https://elasticsearch.cn/m/article/132

要回复问题请先登录注册