gpt4 book ai didi

MySQL 全文搜索不匹配

转载 作者:行者123 更新时间:2023-11-29 01:45:18 25 4
gpt4 key购买 nike

我的 MySQL 表没有通过 MATCH (col) AGAINST ('') 查询返回结果。

表格很简单:

id | url | fullTextIndex

我的查询是

SELECT *, Match(fullTextIndex) AGAINST ("7f7f7f807f8080807f8080807f7f7f807c828888808a86967e8b858d7f89838a76829e958f7badb68084a3a38384899077848b877f799f9c85799fa2827d8c8a ") FROM Pictures;

最后一列,匹配项,始终为 0。除了,我知道一个事实,上面的字符串逐字包含在其中一个值中。

注意事项:

  • 该字符串仅在该行中(因此它不在超过 50% 的行中,因此不应忽略)。
  • 这不是完整值
  • 该列是一个大文本列
  • 当我使用 INSTR 时,我得到值 1(这是正确的)

知道为什么这个查询可能不起作用吗?

最佳答案

考虑索引的词的长度似乎有一个(可配置的)上限:

http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_ft_max_word_len

您可以使用 SHOW VARIABLES LIKE "ft_max_word_len"; 查看当前值

它在我的服务器上返回 84,而你的字符串长度为 128 个字符。

建议的修复:

  1. 将此行添加到您的 my.cnf 文件:ft_max_word_len=128(或您需要的任何最大长度)

  2. 按照 MySQL 网站上的建议重建索引:REPAIR TABLE tbl_name QUICK;

关于MySQL 全文搜索不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8461127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com