我正在尝试从这篇文章中修改用于全路径检索的代码:http: //mikehillyer.com/articles/managing-hierarchical-data-in-mysql/在嵌套集模型中使用 FULLTEXT 而不是完全匹配。
这就是我想要的:我想获得从 MATCH() AGAINST() 搜索的最佳匹配,而不是使用 '=' 符号只找到这一个结果。
这是我尝试过的:
DELIMITER //
DROP PROCEDURE IF EXISTS find_node;
//
CREATE DEFINER = CURRENT_USER PROCEDURE find_node (
IN searched TEXT
)
proc: BEGIN
SELECT DISTINCT parent.content
FROM tree AS node,
tree AS parent
WHERE node.lft BETWEEN parent.lft AND parent.rgt
AND node.content = (SELECT content FROM tree WHERE MATCH(node.content) AGAINST(searched IN BOOLEAN MODE) LIMIT 1)
ORDER BY parent.lft;
END //
DELIMITER ;
以 AND node.content 开头的行,但运行该过程后似乎没有返回任何结果。我也希望能够获得第二、第三和 n 最佳匹配(也许使用 LIMIT 1 OFFSET n,其中 n 是结果编号?)。
谢谢你的帮助