是否有像MySQL的pg_trgm(PostgreSQL)这样的Trigram功能?

时间:2013-08-07 15:25:05

标签: mysql text similarity

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

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

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

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

2 个答案:

答案 0 :(得分:2)

我知道这个问题已经过时了,但是我在这里搜索了Google,并且我发现了一些新的信息。

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

Mysql team article regarding ngram searches

答案 1 :(得分: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