我正在使用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