【已解决】Doris 倒排索引如何按匹配分数高到低排序返回查询结果

Viewed 82

已建好表 logging_event 且 formatted_message 创建了倒排索引。

SELECT * FROM logging_event WHERE formatted_message MATCH_ANY 'JVM';

上述的 SQL 执行会命中多条记录,但似乎默认是随机顺序的(不稳定顺序)

表中有多条包含 JVM 关键字的记录,如果期望顺序按 JVM 命中匹配度由高到低排序,例如出现了 6 次 JVM 的记录应该排在出现了 1 次 JVM 记录的上方呢?

1 Answers
SELECT * 
FROM logging_event 
WHERE formatted_message MATCH_ANY 'JVM' 
ORDER BY size(split_by_string(formatted_message, 'JVM')) DESC;