|
E 子句中时,返回的结果被自动地以相关性从高到底的次序排序。如果即没有 WHERE 也没有 ORDER BY 子句,返回行是不排序的。
相关性值是正值的浮点数字。零相关性意味着不相似。
相关性的计算是基于:查找单词在表行中的数目、在行中唯一词的数目、在集中词的全部数目和包含一个特殊词的行的数目。
到 4.0.1 时,MySQL 也可以使用 IN BOOLEAN MODE 修饰语来执行一个逻辑全文搜索。
IN BOOLEAN MODE的特色:
不剔除50%以上符合的row。
不自动以相关性反向排序。
可以对没有FULLTEXT 索引的字段进行搜寻,但会非常慢。
限制最长与最短的字符串。
套用stopwords。
逻辑全文搜索支持下面的操作符:
+ 一个领头的加号表示,返回的结果的每行都必须包含有该单词。
- 一个领头的减号表示,包含该单词的行不能出现在返回的结果中。
> 操作符增加包含该单词返回行相似性值的基值。
< 操作符减少包含该单词返回行相似性值的基值。
() 被括号包含的多个词只相当一个词,即在查询时括号里只有一个词可代表该括号与括号外的词相结合做查询,但括号中每个词都会依次被轮到代表该括号,所以与括号外单词会产生多种结合形式,依次做查询条件。
~ 将其相关性由正转负,表示拥有该字会降低相关性,但不像 - 将之排除,只是排在较后面。
* 一个星号是截断操作符,它应该被追加到一个词后,不加在前面。作用类似 LIKE 语句中的 %
"" 把被双引号包含的多个词作为一个词
这里是一些示例,在返回结果中:
1.+apple +juice ... 两个词均在被包含
2.+apple macintosh ... 包含词 “apple”,但是如果同时包含 “macintosh”,它的排列将更高一些
3.+apple -macintosh ... 包含 “apple” 但不包含 “macintosh”
4.+apple +(>pie
|