0

我们有以下查询:

SELECT video . * , u.name, u.username, p.avatar
FROM jos_hwdvidsvideos AS video
WHERE video.public_private = 'public'
AND MATCH (
    title, tags, description
)
AGAINST (
    'matthew:13-44-46'
)
AND video.published =1
AND video.approved = "yes"
LIMIT 0 , 30

唯一的问题是它会返回标题、标签或描述匹配的结果,matthew:13-44-46但它会返回其中包含的任何matthew内容。

4

1 回答 1

1

微调 MySQL 全文搜索中所述

如果要更改被视为单词字符的字符集,可以通过多种方式进行,如下面的列表中所述。进行修改后,您必须为包含任何索引的每个表重建FULLTEXT索引。假设您要将连字符 ( '-') 视为单词字符。使用以下方法之一:

或者,您可以执行准确的短语搜索IN BOOLEAN MODE

MATCH (title, tags, description) AGAINST ('"matthew:13-44-46"' IN BOOLEAN MODE)
于 2012-11-26T19:45:05.557 回答