Mysql全文匹配返回布尔匹配,但0相关性

时间:2019-03-07 13:50:36

标签: mysql full-text-search full-text-indexing relevance

我正在使用Mysql的全文本索引进行过一些以前从未有过的行为。对于所有记录,使用cell搜索的相关性都以0的形式返回。尽管in boolean结果验证了该术语是否存在(以及where子句)。

select sum(char_length(concat(columns))), MATCH (columns) AGAINST ('+"cell"' IN BOOLEAN MODE), MATCH (columns) AGAINST ('"cell"'), id
from table
where MATCH (columns) AGAINST ('+"cell"' IN BOOLEAN MODE)

我检查了默认停用词列表,并确认我没有使用自定义列表。与0相关的原因可能是什么,我该如何纠正?

内容长度从1717字符到115905差别很大,因此看到4/115905的排名很低(假定它只出现一次),我不会感到惊讶。我希望4/1717至少会是一个零头..并且此逻辑还假设该术语仅出现过一次。该术语存在多次。

我也阅读了手册条目,并且在想这段话

  

相关性是根据行(文档)中的单词数,行中的唯一单词数,集合中的单词总数以及所包含的行数来计算的包含一个特定的单词。

并认为可能是因为cell存在于所有文章中,因此结果无效,但与我进行的其他测试不符。例如,animal model带回了我的期望。

我的全文索引长度是1个字符。

具有索引的表是:

ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED

0 个答案:

没有答案