[英]MySQL FULLTEXT query issue
我正在尝试使用mysql FULLTEXT进行查询,但不幸的是,即使表包含那些输入关键字,它也会返回空结果。
表格:user_skills :
+----+----------------------------------------------+
| id | skills |
+----+----------------------------------------------+
| 1 | Dance Performer,DJ,Entertainer,Event Planner |
| 2 | Animation,Camera Operator,Film Direction |
| 3 | DJ |
| 4 | Draftsman |
| 5 | Makeup Artist |
| 6 | DJ,Music Producer |
+----+----------------------------------------------+
索引:
查询:
SELECT id,skills
FROM user_skills
WHERE ( MATCH (skills) AGAINST ('+dj' IN BOOLEAN MODE))
在这里,一旦我运行以上查询,就不会返回任何DJ
行。 该表中有3行,其值为dj
。
您的搜索词简而言之
如在mysql文档
在全文搜索中,某些单词会被忽略:
任何太短的单词都会被忽略。 全文搜索发现的默认最小单词长度对于InnoDB搜索索引为3个字符,对于MyISAM为4个字符。 您可以通过在创建索引之前设置配置选项来控制截止值:InnoDB搜索索引使用innodb_ft_min_token_size配置选项,MyISAM使用ft_min_word_len。
。
布尔全文搜索具有以下特征:
他们不使用50%阈值。
它们不会按相关性递减的顺序自动对行进行排序。 您可以从前面的查询结果中看到这一点:关联性最高的行是两次包含“ MySQL”的行,但该行最后而不是首先列出。
即使没有FULLTEXT索引,它们也可以工作,尽管以这种方式执行的搜索将非常慢。
最小和最大字长全文参数适用。
https://dev.mysql.com/doc/refman/5.6/en/fulltext-natural-language.html
https://dev.mysql.com/doc/refman/5.6/zh/fulltext-boolean.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.