@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的话,有点没有头绪,请问需要怎么做?
3 个回复
依诺
赞同来自:
我现在有一个问题,我们这边现在有一个需求,如下图,搜索结果中包含资讯,直播,试用,节目视频,不是分组搜索,是综合搜索,但是这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的话,有点没有头绪,请问需要怎么做?
kennywu76 - Wood
赞同来自:
思路上,所有文档放在一个索引里,其中用一个字段比如category表示内容类型,用关键字搜索的时候,指定category为collapse字段实现分组功能。
medcl - 今晚打老虎。
赞同来自:
https://elasticsearch.cn/m/article/132