我正在尝试做一个全文搜索,我正在查询的数据库有很多LCD屏幕尺寸。我需要做一个全文搜索,因为搜索短语可能很复杂,我们从LIKE比较开始,但它没有削减它。
这就是我们所得到的。
SELECT stock_items.name AS si_name,
stock_makes.name AS sm_name,
stock_items.id AS si_id
FROM stock_items
LEFT JOIN stock_makes ON stock_items.make = stock_makes.id
WHERE MATCH (stock_items.name,
stock_makes.name) AGAINST ('+32"' IN BOOLEAN MODE)
AND stock_items.deleted != 1使用此搜索,我们得到0个结果。虽然32“在字段中多次出现,但我们已经修改了mysql配置,使我们可以搜索3个或更多字符(而不是默认的4个字符),并且像+NEC这样的搜索可以正常工作。
我的猜测是,要么是mysql中的全文搜索忽略了“字符”,要么就是数字。
不幸的是,我对数据库数据没有任何控制,否则我会用其他东西替换双引号。还有其他的解决方案吗?
发布于 2013-04-10 19:25:54
MySQL在索引时忽略圆形字符,“我想是其中之一。有几种方法可以更改默认字符设置,如here所述
我使用了第二种方法,这对我们很有效。The provided page在页面末尾的评论中有一个详细的例子( John Navratil评论)。
在任何情况下,您都需要在更改设置后重新构建索引:REPAIR TABLE tbl_name QUICK;
https://stackoverflow.com/questions/15924157
复制相似问题