【问题标题】:What is the maximum possible value range of MATCH ('...' IN NATURAL LANGUAGE MODE) in MySQL?MySQL 中 MATCH ('...' IN NATURAL LANGUAGE MODE) 的最大可能值范围是多少?
【发布时间】: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(...) 函数的输出存储在那里。就我而言,我从03.695953130722046 获取值。

【问题讨论】:

  • 您在这里可能有一个真正的问题,但就目前而言,这个问题太模糊了,无法解决。考虑编辑它以更清楚地提出特定问题。
  • 每隔几年我都会尝试用谷歌搜索这个问题的答案,但我一无所获。我的猜测是没有理论上的最大值,因为它通常与找到的匹配数以及正在搜索的列的长度和搜索表达式的长度有关。太糟糕了,因为如果保证它在 0 到 100 之间(100 是完美匹配),那么这个数字在绝对范围内将是有意义的。

标签: mysql full-text-search relevance match-against


【解决方案1】:

查询输出的可能性实际上并没有很小的限制。因此,您将冻结您的 MySQL / 您的网络,而不是达到那个巨大的限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    相关资源
    最近更新 更多