【问题标题】:FULLTEXT Irrelevant resultsFULLTEXT 不相关的结果
【发布时间】:2011-01-01 09:47:52
【问题描述】:

刚刚使用mysql的全文搜索遇到了这个问题。

我有 250 条记录(长篇文章之类的东西)并且正在使用全文MATCH AGAINST IN BOOLEAN MODE。现在,如果我搜索关键字,例如'Samsung' 并且如果这个关键字出现在所有记录中,那么它会返回它应该返回的所有 250 条记录(当然,如果没有 `IN BOOLEAN MODE,它不会返回任何内容,因为关键字出现在超过 50% 的记录中)。

现在的问题是,在某些文章中,关键字“Samsung”出现了一次,而在其他文章中出现了几次,但 MYSQL 对所有返回的记录都给出了 1 分,即使是那些有 'Samsung' 的记录也出现了 15 次在他们里面。

【问题讨论】:

    标签: mysql full-text-search


    【解决方案1】:

    http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html

    布尔全文搜索具有以下特点:
    ...
    * 它们不会自动按相关性递减的顺序对行进行排序。

    【讨论】:

      【解决方案2】:
      select ...
      where match(...) against('samsung' in boolean mode)
      order by match(...) against('samsung' with query expansion) desc;
      

      【讨论】:

      • 我认为您实际上在这里运行了 2 个全文查询,这可能会影响性能
      猜你喜欢
      • 2019-10-23
      • 1970-01-01
      • 1970-01-01
      • 2013-08-16
      • 2018-01-21
      • 2014-08-29
      • 2022-09-26
      • 1970-01-01
      • 2023-03-17
      相关资源
      最近更新 更多