【发布时间】:2013-04-13 11:38:16
【问题描述】:
MySQL 提供FULLTEXT 索引,可以使用MATCH (col1,col2,...) AGAINST (expr [search_modifier]) 构造检索。有几个Full-Text Search 变体,其中之一(也是默认的)是Natural Language Full-Text Search。
那么 MATCH 的最大可能值是多少('...' IN NATURAL LANGUAGE MODE)?
例子:
这个查询
SELECT
courses.id,
courses.title,
MATCH (coursedata.title) AGAINST ('Basketball') AS relevance
FROM
courses
JOIN
coursedata ON coursedata.id = courses.coursedata_id
WHERE
MATCH (coursedata.title) AGAINST ('Basketball') > 0
返回一个包含relevance 列的结果表,我们在其中存储coursedata.title 行与'Basketball' 的相关性值。或者'Basketball' 与coursedata.title 行的相关性值?无论如何,我们将MATCH(...) 函数的输出存储在那里。就我而言,我从0 到3.695953130722046 获取值。
【问题讨论】:
-
您在这里可能有一个真正的问题,但就目前而言,这个问题太模糊了,无法解决。考虑编辑它以更清楚地提出特定问题。
-
每隔几年我都会尝试用谷歌搜索这个问题的答案,但我一无所获。我的猜测是没有理论上的最大值,因为它通常与找到的匹配数以及正在搜索的列的长度和搜索表达式的长度有关。太糟糕了,因为如果保证它在 0 到 100 之间(100 是完美匹配),那么这个数字在绝对范围内将是有意义的。
标签: mysql full-text-search relevance match-against