有没有办法更新Levenshtein(Postgresql)中的最大字符数限制?

pkln4tw6  于 2023-05-17  发布在  PostgreSQL
关注(0)|答案(1)|浏览(140)

我在PostgreSQL 14中使用fuzzystrmatch扩展。
当我运行下面的查询时,它给出了这个错误消息:

错误:levenshtein参数超过255个字符的最大长度

SELECT levenshtein('xxxxxxxx', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY');
引用了这个文档,https://www.postgresql.org/docs/current/fuzzystrmatch.html,它说,* 源和目标都可以是任何非空字符串,最多255个字符。
但我有这个要求,以支持任何数量的字符为levenshtein。有没有什么办法,我可以更新这个最大长度在PostgreSQL的levenshtein?
我引用了几个Postgresql和fuzzystrmatch文档,它们说我们不能超过255个字符。
https://www.postgresql.org/docs/current/fuzzystrmatch.html
但我正在寻找一种方法,如果这个最大长度可以在PostgreSQL中控制。

zy1mlcev

zy1mlcev1#

如果你不是在寻找确切的排列数,而是想做一个相似性搜索/匹配,你可以使用pg_trgm中的相似性函数。

CREATE EXTENSION IF NOT EXISTS pg_trgm;

SELECT field
FROM table
WHERE similarity(field, '{{value}}') >= 0.95;

相关问题