用php全文搜索

时间:2011-06-30 23:52:36

标签: sql full-text-search

我没有得到以下查询的任何结果:

"SELECT * FROM test2 WHERE MATCH(txt) AGAINST('hello' IN BOOLEAN MODE)"

而test2看起来像:

id | txt
 1 | ...
 2 | ...
 3 | ...
 4 | ...
.. | ...

txt长度为30个字符(TEXT)和全文。我有大约16条记录(微小的数据库),并且几乎将文字hello放在txt中的每条记录中以及其他单词。我只是想知道全文搜索是如何工作的。所以我得到零结果,我无法理解为什么。

1 个答案:

答案 0 :(得分:2)

有两个原因导致您没有得到任何结果:

原因1:您的搜索字'hello'出现在太多行中。

  

自然语言搜索解释   搜索字符串作为短语   自然的人类语言(一个短语)   自由文本)。没有什么特别的   运营商。禁用词列表适用。   另外,存在的词语   考虑50%或更多行   常见且不匹配。全文   搜索是自然语言搜索   如果没有给出修饰语。

来源:http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

原因2:您的搜索字'hello'位于停用词列表中。 禁用词列表中的任何单词都不会匹配!

来源:http://dev.mysql.com/doc/refman/5.1/en/fulltext-stopwords.html