7

我使用模块中的similarity()函数在 C# 中为 PostgreSQL 数据库创建了模糊搜索。pg_trgm现在我想将此搜索移植到 MySQL 数据库,但 MySQL 没有类似的 trigram 功能。

有没有办法在 MySQL 中从 PostgreSQL 导入 pg-trgm 模块,或者是否有类似的 Trigrams for MySQL 实现?

不幸的是,我还没有找到任何令人满意的实现。

由于安装、维护和熟悉语法和配置的工作量,我不愿意使用像 Solr 这样的外部搜索引擎。

4

2 回答 2

2

我知道这个问题很老,但我到这里谷歌搜索这个,我还发现了一些新信息。

从 Mysql 5.7.6 开始,内置支持在全文搜索中使用 nGram。

关于 ngram 搜索的 Mysql 团队文章

于 2015-05-27T15:28:50.000 回答
0

我不熟悉 PostgreSQL,但是如果您使用的是 Innodb 存储引擎,那么请在您要搜索的列中搜索“全文”搜索。那么您可以使用以下搜索语法来搜索您的联系人

SELECT subject, MATCH (subject) AGAINST ("Find This String") AS relevance_notes
FROM yourTable

http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html#function_match

于 2013-09-06T23:23:42.993 回答