我有一个简单的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排;包含'测试事件'和'第二测试'的那些。
我似乎无法搜索“第二个”这个词,或者需要以某种方式转义。我错过了什么吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
如果您有权访问mySQL服务器,则可以按照here所述更改停用词列表文件。如果它是共享服务器,那么你可能会运气不好。