【问题标题】:Is there a Trigram functionality like pg_trgm (PostgreSQL) for MySQL?是否有像 MySQL 的 pg_trgm (PostgreSQL) 这样的 Trigram 功能?
【发布时间】:2013-08-07 15:25:05
【问题描述】:

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

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

很遗憾,我还没有找到任何令人满意的实现。

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

【问题讨论】:

标签: mysql text similarity


【解决方案1】:

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

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

Mysql team article regarding ngram searches

【讨论】:

    【解决方案2】:

    我不熟悉 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

    【讨论】:

      猜你喜欢
      • 2018-02-14
      • 2019-03-19
      • 1970-01-01
      • 2015-12-06
      • 2023-03-26
      • 2015-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多