尝试不使用双引号并确保 Mysql 引擎是MYISAM
SELECT
Titel
FROM
cmsa
WHERE
MATCH(Titel) AGAINST ('+Ort +Berlin' IN BOOLEAN MODE)
一些解释
布尔模式搜索
SELECT headline, story FROM news
WHERE MATCH (headline,story)
AGAINST ('+Hurricane -Katrina' IN BOOLEAN MODE);
上述声明将与有关飓风的新闻报道匹配,但与提及卡特里娜飓风的新闻报道不匹配。
查询扩展
盲查询扩展(或自动相关性反馈)功能可用于扩展搜索结果。这通常包括更多的噪音,并导致非常模糊的搜索。
在大多数情况下,如果用户查询只返回几个结果,您将使用此操作,您可以使用 QUERY EXPANSION 再试一次,它会添加查询中常见的单词。
SELECT headline, story FROM news
WHERE MATCH (headline,story)
AGAINST ('Katrina' WITH QUERY EXPANSION);
上述查询可能会返回所有有关飓风的新闻报道,而不仅仅是包含卡特里娜飓风的新闻报道。
关于 MySQL 中全文搜索的几点:
- 搜索不区分大小写
忽略短词,默认最小长度为 4 个字符。您可以使用变量 ft_min_word_len 和 ft_max_word_len 更改最小和最大字长
称为停用词的词会被忽略,您可以指定自己的停用词,但默认词包括 the, have, some - 请参阅默认停用词列表。
- 您可以通过将变量 ft_stopword_file 设置为空字符串来禁用停用词。
- 只有 MyISAM 存储引擎支持全文搜索。
- 如果一个词出现在超过 50% 的行中,那么它的权重为零。这在大型数据集上具有优势,但会使小型数据集的测试变得困难。