【问题标题】:MySQL Full Text Search not working properly. Why?MySQL 全文搜索无法正常工作。为什么?
【发布时间】:2013-04-16 00:16:31
【问题描述】:

OBS:我是全文搜索和 MyIsam 引擎的新手,所以请假设我对此一无所知。

这是我的 DDL:

CREATE TABLE NotebookIndex (
    indexAutomatico TEXT,
    indexHumano TEXT,
    notebook BIGINT UNSIGNED
) CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE=MYISAM;
ALTER TABLE NotebookIndex ADD FULLTEXT(indexAutomatico, indexHumano);

这是我现在的数据库:

当我查询时:

SELECT notebook FROM NotebookIndex WHERE MATCH(indexHumano, indexAutomatico) AGAINST ('intel')

我明白了:

如果您仔细查看打印屏幕,您将能够看到 'intel' 确实存在于某些行中。

不过,如果我将 'intel' 更改为 'sony',我会得到一些结果。我尝试了一些其他(存在的)词,但它也不起作用。为什么会这样?

【问题讨论】:

    标签: mysql sql full-text-search myisam


    【解决方案1】:

    如果单词出现在超过 50% 的行中,它将在 natural full text searches 中被忽略。如果您需要超过 50% 的表格的结果,请选择 BOOLEAN MODE

    【讨论】:

    • 我会在几分钟内测试它并给你反馈。谢谢!
    • @Weikkrn,50% 左右我没看懂,你能简单解释一下吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 2020-10-25
    • 2014-03-31
    • 1970-01-01
    • 2019-08-04
    • 2021-11-10
    相关资源
    最近更新 更多