MySQL:将 "LIKE"搜索转换为全文?

标签 mysql search full-text-search transform sql-like

我有一个非常简单的 MySQL LIKE 搜索,我想将其转换为全文。问题是我需要能够实现它,以便它以 X 开头。如下例所示:

SELECT column FROM table WHERE column LIKE "startswith%"

如您所见,查询返回所有以“startswith”开头的结果。我需要用全文来做到这一点。

这可能吗?

最佳答案

不,这不是全文的工作方式(它实际上只是一个下面有松散单词的列表,没有关于相对于字符串的位置的信息)但是你没有理由不能拥有 LIKE ... 作为额外的 WHERE 子句。如果您在 column 上没有另一个键,FULLTEXT 仍然可以帮助获得较小的结果子集。如果您确实column 上有一个键,为此使用 FULLTEXT 是没有用的。

您可以使用 ADD INDEX (column(123)); 在列的开头设置键(这只会索引前 123 个字符)。这也适用于文本/blob 列(在后一种情况下,它是您提供的二进制长度)。

关于MySQL:将 "LIKE"搜索转换为全文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6271602/

相关文章:

algorithm - 确定最后 "record"的最快方法 .. 理想情况下是并行的...(有间隙)

Python:如何在列表列表中添加 'find' 内容

sql-server-2005 - 在一行 SQL 中有条件地创建全文目录(来自安装程序)

mysql 复合索引我应该使用它们吗

search - 它是哪个 solrconfig.xml 文件?

mysql 使用 JOIN 从 2 个表获取拍卖数据和出价

javascript - 无法复制变量内的内容

c - 递归查找海量中 2 个最大数的索引 (C)

php - 将数据从可变数量的表格插入mysql到相应的列

mysql - 如何用ionic连接mysql