使用撇号进行MySQL全文搜索不会返回预期结果

时间:2015-05-13 08:28:36

标签: php mysql full-text-search innodb apostrophe

我正在使用InnoDB运行MySQL 5.6.24并尝试实现全文搜索。我有一个餐馆名称列表,测试似乎运行良好,直到我尝试以下。

SELECT * FROM table WHERE MATCH(name) AGAINST ('grill\'d' IN BOOLEAN MODE)

我在数据库中有一个名为Grill'd的餐厅就是这样说的(带撇号)。桌子上还有很多餐厅,标题中有烧烤这个词。搜索返回Grill'd和标题中包含Grill的所有人。如果它给了Grill更高的相关性,那就不会那么糟糕,但事实并非如此。

在进一步调查中,似乎“正在替换为空格,因为搜索'牛排''房子'会返回包含”牛排“或”房子“字样的所有名称,但不包括”牛排馆“。

任何人都可以就此提出一些建议,但也许更重要的是我如何得到结果返回Grill.

更新

'" p \'滴度*"'确实找到了(好)

'" p \'山雀*"'找不到P' tite(为什么不呢?)

' p \' TI *'确实找到了P'但也找到了Tiger,Tim等(为什么,它应该只能找到P' tite?)

" p \' TI *"确实找到了P'但也找到了Tiger,Tim等(为什么?)

" P' TI *"确实找到了P'但也找到了Tiger,Tim等(为什么?)

有关分隔符和通配符的任何建议吗?

0 个答案:

没有答案
相关问题