【发布时间】:2017-01-29 18:33:28
【问题描述】:
我正在尝试修改从这篇文章中检索全路径的代码: 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 是结果编号?)。
感谢您的帮助
【问题讨论】:
标签: mysql subquery full-text-search hierarchical-data hierarchical-query