我试图做一个全文搜索,我查询的数据库有很多LCD屏幕尺寸,例如32“。 我需要做一个全文搜索,因为搜索短语可能很复杂,我们从一个LIKE比较开始,但它并没有削减它。MYSQL全文搜索的数字和字符被忽略?
继承人我们得到了什么。
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个或更多字符(而不是默认的四个字符),并且像+ NEC这样的搜索工作正常。或者a)在mysql中全文搜索忽略“字符或数字。
不幸的是,我没有任何控制数据库数据,或者我会用别的东西替换双引号。 任何其他解决方案?
重新编译是不是我们的选择可惜还是我们刚刚做到这一点。你可以提供任何有关如何完成第二个的见解,链接http://dev.mysql.com/doc/refman/5.0/en/character-arrays.html建议实际上目录/ sql/share/charsets /实际上是一个源文件目录...所以不知道在哪里编辑字符集?有任何想法吗 ? – chip 2013-04-10 22:28:20
修改字符集文件不需要编译。在这篇文章的评论中有一个详细的例子:http://dev.mysql.com/doc/refman/5.0/en/fulltext-fine-tuning.html – vadchen 2013-04-11 06:01:13
我使用的是UTF8,没有一个charsets文件夹中的UTF8.xml。 查看charsets文件夹中的index.xml文件,有一个针对utf8编译的 的标志,所以猜测它没有charset文件夹。除了更改表格的字符集或重新编译mysql之外,还有其他选项吗? –
chip
2013-04-11 10:48:36