mysql coreseek_coreseek单索引同时搜索多张mysql表字段

一直用coreseek搜索一个表,但是既然叫全文搜索引擎,性能那么强劲,这么做有点太大材小用了。

首先先来看看我们要实现的功能。

我有两张表discussion话题表和comment话题回复表。

现在我搜索mysql这个关键词,我想同时搜索话题的标题和内容以及话题的回复,这三个字段中含有mysql我都要查出来。

当然可以在coreseek配置文件中创建两个索引,一个索引discussion表,一个索引comment表。但是这么做很不灵活,分页基本上毁了,而且处理重复的数据也挺麻烦。

所以这个时候还是一个索引比较合适,我们可以在一个索引的sql_query中,使用联查,联查多张表,把一个话题下的所有回复串起来作为一个字段。

# 以前的sql

# sql_query = SELECT id, title, content,keyword FROM discussion where id <= (select maxid from sph_ds_counter where counter_id = 1)

# 联查的sql

sql_query = SELECT ds.id,ds.title,ds.content,cm.cm_content FROM discussion as ds LEFT JOIN(SELECT id,discussion_id,GROUP_CONCAT(content) as cm_content FROM comment GROUP BY discussion_id) as cm ON ds.id = cm.discussion_id where ds.id <= (select maxid from sph_ds_counter where counter_id = 1)

这样叫可以把符合条件的回复也查出来了,配置增量索引,性能消耗应该不是太大问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值