我有一张大桌子。我有全文索引:
名称(公司名称) Name_dba(做生意的公司名称) phy_city(实体城市) phy_state(物理状态) mail_city mail_state
我允许用户只需输入公司名称,城市等进行搜索。我的代码使用术语sing $ term并删除单词之间的任何空格,并用" +"替换它。然后,我执行以下查询:
SELECT SQL_CALC_FOUND_ROWS * FROM fmcsa_census1
WHERE MATCH(dot_num, name, name_dba, iccdocket1, icc1,phy_st, phy_city, mail_city, mail_st) AGAINST (('$term') IN BOOLEAN MODE)
这在搜索城市,州时工作正常,但从未在公司名称上正确匹配。即使我输入的公司名称与我在db中的名称完全相同,也不会在结果中返回或返回。两个名称字段都是varchar(120)。
任何建议,因为人们很可能会按名称搜索。
谢谢!
答案 0 :(得分:0)
我认为这是因为你伪造这个$ term变量的方式。也许你在城市名称之前放了一个fot。