2010-05-01 46 views
2

我有一个简单的MySQL表设置为全文搜索。在MySQL全文搜索中,'第二'是关键字吗?

| id | title   | 
---------------------- 
| 1 | test event | 
| 2 | Second test | 
| 3 | Larry's event | 
| 4 | this second | 

当我使用查询:

SELECT * 
FROM EVENTS 
WHERE MATCH (title) AGAINST ('test event' IN BOOLEAN MODE); 

我回来3行;包含'测试事件','第二测试'和'拉里的事件'。

现在如果我运行下面的查询:返回

SELECT * 
FROM EVENTS 
WHERE MATCH (title) AGAINST ('second' IN BOOLEAN MODE); 

没什么......奇怪吗?

最后,如果我运行查询:

SELECT * 
FROM EVENTS 
WHERE MATCH (title) AGAINST ('second test' IN BOOLEAN MODE); 

我回来2行;包含'测试事件'和'第二测试'的那些。

我觉得'second'这个词不能被搜索,或者需要以某种方式逃脱。我错过了什么吗?

回答

1

是的,second是一个停止词&将ingored。 (您可以override这种行为)

1

是啊,这是一个停用词:

Fulltext stopwords

如果你有机会到MySQL服务器,你可以改变停止字的文件中描述here。如果它是一个共享服务器,那么你可能会失败。