【问题标题】:MySql Fulltext search using 2 character wordMySql 全文搜索使用 2 个字符的单词
【发布时间】:2015-04-01 10:21:17
【问题描述】:

我设置了ft_min_word_len = 1 并运行show variables like 'ft%'; 也显示相同。 也已经通过删除和重新创建全文索引来更新它们。

但是,当我对具有“Samsung Hg55nc890xf 3d 1080p Led lcd Tv Hdtv”作为值的行运行 SELECT OriginalProductName FROM products WHERE MATCH (ProductName) AGAINST ('+samsung +tv' IN BOOLEAN MODE); 时,它返回 0 个结果。

当我执行SELECT OriginalProductName FROM products WHERE MATCH (ProductName) AGAINST ('+samsung +led' IN BOOLEAN MODE);时它按预期工作

我使用的是 MySQL 5.6.22。 Innodb 是表引擎。

如何让 MySql 全文搜索搜索 tv、32、US 等 2 个字符的单词?

【问题讨论】:

  • 我也有 5.6.22 和小于 3 的 ft_min_word_len 值不起作用。我的意思是我还可以看到显示变量中的值设置为 2,然后我重建了索引,但它没有生效。全文索引中我能找到的最短字符串仍然是 3 个字符长。
  • 我找到的最接近的解决方案是SELECT ProductName FROM products WHERE ProductName LIKE '%tv%' AND MATCH (ProductName) AGAINST ('+samsung' IN BOOLEAN MODE);

标签: mysql full-text-search full-text-indexing


【解决方案1】:

我发现这个问题是innodb 存储引擎特有的。我已经通过添加解决了这个问题 [mysqld] innodb_ft_min_token_size =2;/etc/my.cnf

【讨论】:

  • 你好,我如何在 Windows 7 中找到“/etc/my.cnf”
猜你喜欢
  • 1970-01-01
  • 2015-07-25
  • 2011-03-21
  • 2010-12-07
  • 2016-05-30
  • 1970-01-01
  • 1970-01-01
  • 2012-10-14
  • 1970-01-01
相关资源
最近更新 更多