使用PHP和mySQL进行全文搜索 - 更改表不是一个选项

时间:2012-09-22 18:50:19

标签: php mysql full-text-search

我有一个关于我最近接手的半完成项目的php / mysql查询问题。

该项目是一个使用mysql数据库在php中编程的在线商店,该数据库也通过ERP(C ++)软件连接。 ERP和半成品在线商店由同一个程序员完成,但我的客户对商店的结果非常不满意。 由于程序员拒绝与我一起工作,我对于一个非常简单的问题感到困惑。

我需要跨两个字段进行全文搜索,这两个字段都有全文索引。这是一个简单的“SELECT ... MATCH ... AGAINST”,但它没有按预期工作。 如果我将例如“树”作为搜索项,则查询会查找具有“树”但不是“树”或“树”的所有内容,依此类推...... 我的第一个猜测是将字段的排序更改为与latin1_general_cs不同的字体,但不幸的是,ERP似乎并不那么喜欢。

我在某处读到,有可能在查询字符串中将所需字段转换为更有用的内容,但我无法弄明白。

也许有人有类似的问题?

2 个答案:

答案 0 :(得分:1)

试试这个::

Select * from myTable where LOWER(column) like '%tree%'

如果存在,您将从表中获取所有Tree,TREE,树

答案 1 :(得分:0)

我相信你可以在LOWER()函数中将列放在MATCH子句中。如果确保只将小写字符串传递给AGAINST子句(或将它们包装在自己的LOWER()中),则不会出现此问题。