【问题标题】:mysql fulltext search in boolean mode布尔模式下的mysql全文搜索
【发布时间】:2011-04-07 23:33:55
【问题描述】:

我想使用多个搜索词使用mysql的全文索引搜索数据库:

SELECT description FROM `products` WHERE match(name, description) against('*ana* *apple*' IN BOOLEAN MODE)

我希望上面的查询返回以下记录,但它不起作用:

babana pie
applet
fried bananas
juicy apples

我的查询可以吗?

【问题讨论】:

  • 会发生什么?你有什么命中吗?太多?太少了?
  • @Pekka 运行查询时只返回苹果相关记录

标签: mysql full-text-search


【解决方案1】:

您可能会遇到全文的限制,即出现在超过一组记录中的单词被视为“噪音”并被忽略。 'banana' 和 'apple' 都出现在 50% 的样本记录中,因此很可能不是很好的匹配项。尝试在您的测试数据中添加一些其他水果并搜索更“稀有”的东西。

【讨论】:

  • 这里说当使用布尔模式时mysql会忽略停用词stackoverflow.com/questions/4449431/…
  • @marcos 这不是停用词问题。这可能是原因
  • 刚刚在表中添加了一堆数据,结果是一样的
猜你喜欢
  • 2012-04-20
  • 2016-07-26
  • 1970-01-01
  • 2011-03-04
  • 1970-01-01
  • 1970-01-01
  • 2015-02-14
  • 2015-05-11
  • 2018-07-06
相关资源
最近更新 更多