请问opegauss 7.0.0RC3 可以同时对两个列进行bm25查询么?

某个表有title、content两个列,都已经建好了bm25索引,想在同一个sql里同时索引查询它们。

按网上的例子:

SELECT *,
(title <&> ‘关键词’)*2 + (content <&> ‘关键词’) AS weighted_score
FROM multi_text_table
ORDER BY weighted_score DESC;

无法查询。

请问各位,正确的查询sql如何写,谢谢。

类似这种:

~~~

WITH title_scores AS (
SELECT id, title <&> ‘关键词’ AS title_score
FROM multi_text_table
ORDER BY title <&> ‘关键词’ DESC
LIMIT 200
),
content_scores AS (
SELECT id, content <&> ‘关键词’ AS content_score
FROM multi_text_table
ORDER BY content <&> ‘关键词’ DESC
LIMIT 200
)
SELECT t.id, t.title, t.content,
COALESCE(ts.title_score, 0) * 2 + COALESCE(cs.content_score, 0) AS weighted_score
FROM multi_text_table t
FULL JOIN title_scores ts ON ts.id = t.id
FULL JOIN content_scores cs ON cs.id = t.id
ORDER BY weighted_score DESC
LIMIT 100;

~~~

好的,拿去试试。多谢你的帮助

问题解决了吗

还没上程序调试。多谢你的指点。以后调试运行遇到问题再来请教各位。

这段时间在学习linux C++,以前都是是搞windows. 转到linux一时还不熟悉。

好的