MySQL全文停用词问题

时间:2010-12-15 11:33:52

标签: mysql full-text-search stop-words

我有一个名为“products”的数据库和一个包含以下列的FULLTEXT索引:titledescription。我的所有产品都是润滑剂(油),有两种类型:工业和汽车,速度为55%-45%。 如果我在auto-moto oil之后进行搜索,那么它将不会返回任何结果,因为“auto-moto”关键字存在于超过一半的行中,并且所有这些中的油都存在,因此MySQL将它们放入STOPWORDS列表。

我正在使用PHP。如何使该查询返回正确的结果?

2 个答案:

答案 0 :(得分:3)

答案是IN BOOLEAN MODE。如果你使用布尔模式,那么mysql将忽略该键存在于超过50%的行中。与此同时,它具有非常强大和有用的能力:AGAINST ('*key*')

答案 1 :(得分:0)

可能是因为auto-moto包含一个“ - ”字符,根据 http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html执行NOT搜索, 所以所有行都有“auto”但不是“moto”

尝试搜索“auto moto”

你也可以发布你正在使用的实际SQL,可能有助于诊断问题