mysql - 如何找到两个全文搜索结果之间的平均相关性
问题描述
我的数据库中有一个表,例如bills
。它分别具有外键user_id
和company_id
引用users
和companies
表。users
并且companies
表有名为name
. FULLTEXT
indexex 创建于users.name
和companies.name
name
我正在对列进行全文搜索。结果,我有两个大于 0 的正实数。
select bills.id,
MATCH(users.name) AGAINST('John Doe'),
MATCH(companies.name) AGAINST('John Doe')
from bills
left join users on bills.user_id = users.id
left join companies on bills.company_id = companies.id;
我天真地总结score
了我的查询中的匹配项
(MATCH(users.name) AGAINST('John Doe') +
MATCH(companies.name) AGAINST('John Doe')) as score
所以结果查询看起来:
select bills.id,
(MATCH(users.name) AGAINST('John Doe') +
MATCH(companies.name) AGAINST('John Doe')) as score
from bills
left join users on bills.user_id = users.id
left join companies on bills.company_id = companies.id;
在我订购结果之后score
。
但是有没有更合适的方法来计算多个匹配之间的平均相关性?
解决方案
推荐阅读
- jenkins - Jenkins 流水线执行顺序
- autodesk-forge - 如何获取包含空格的衍生文件?
- java - postgresql JDBC 驱动程序使用客户端时区
- uwp - UWP(桌面桥)应用程序和用户可下载的可执行文件
- stata - xt_tis 是做什么的?
- javascript - 如何在浏览器上运行 node.js 项目?
- java - 如何在 jsf 表单页面中强制执行 reCAPTCHA
- android - CoordinatorLayout 末尾的浮动操作按钮
- amazon-web-services - 如何在 AWS Route53 中将 WWW 添加到域?
- javascript - 为什么此返回不适用于 ajax