gpt4 book ai didi

MySQL Match() 没有找到最佳匹配

转载 作者:行者123 更新时间:2023-11-29 03:46:04 24 4
gpt4 key购买 nike

我有一个职业名称数据库,我正在尝试对其运行一些查询。我正在使用 Match() 尝试使用以下 SQL 为用户输入的字符串找到最匹配的职业头衔:

SELECT *, MATCH (occupation_title) AGAINST ('EGG PROCESSOR') 
AS score FROM occupational_titles WHERE MATCH (occupation_title)
AGAINST ('EGG PROCESSOR') ORDER BY score DESC;

当我对我的数据库运行此查询时,前三个结果是“Processor”、“Egg Processor”和“COPRA Processor”。前两个具有完全相同的匹配分数 6.04861688613892。究竟为什么 MySQL 不会将精确匹配命中列为第一结果?我可以做些什么来改进搜索算法吗?

最佳答案

您可能想在搜索中使用其中一种修饰符模式。检查fulltext documentation .

特别是,默认情况下它使用“自然语言”搜索,而您可能想考虑“ bool 模式”并在每个关键字前加上加号以使其在结果中强制出现,或者使用双引号来搜索确切的短语。 Check the boolean mode documentation有关语法的更多信息。

您还可以考虑使用多种模式执行多个搜索并进行自己的加权。

关于MySQL Match() 没有找到最佳匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5216268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com