kingbase fuzzystrmatch 扩展插件使用

1. 插件fuzzystrmatch简介

fuzzystrmatch提供了两个字符串之间的编辑距离的相关函数,即由一个转换成另一个所需的最少编辑操作次数。

  • 插件名为fuzzystrmatch

  • 插件版本 V1.0

2. 插件fuzzystrmatch加载方式

使用时需要create extension fuzzystrmatch。

示例:

create extension fuzzystrmatch;

3. 插件fuzzystrmatch参数配置

无需配置任何参数

4. 插件fuzzystrmatch使用方法

4.1. levenshtein

计算两个字符串之间编辑距离。

语法

levenshtein(t1 text, t2 text ) RETURNS int;

参数

t1

源字符串。

t2

目标字符串。

示例

TEST=# select levenshtein('text','tst');
 levenshtein
-------------
                   2
(1 行记录)

TEST=# select levenshtein('text','test');
 levenshtein
-------------
                   1
(1 行记录)

TEST=# select levenshtein('text','text');
 levenshtein
-------------
                   0
(1 行记录)

4.2. levenshtein_with_costs

计算两个字符串之间的编辑距离。

语法

levenshtein_with_costs(t1 text, t2 text, i1 int, i2 int, i3 int) RETURNS int;

参数

t1

源字符串。

t2

目标字符串。

i1

insert的代价权重。

i2

replace的代价权重。

i3

delete的代价权重。

示例

TEST=# select levenshtein('tet','text', 1 ,2 ,3);
 levenshtein
-------------
                   1
(1 行记录)

TEST=# select levenshtein('tet','text', 2 ,2 ,3);
 levenshtein
-------------
                   2
(1 行记录)

TEST=# select levenshtein('tet','text', 2 ,2 ,3);
 levenshtein
-------------
                   2
(1 行记录)

4.3. levenshtein_less_equal

求字符之间编码距离与大于指定的值的最小整数值之间的最小值。

语法

levenshtein_less_equal(t1 text, t2 text, i int) RETURNS int;

参数

t1

源字符串。

t2

目标字符串。

i

参与比较的值。

示例

SELECT levenshtein_less_equal('extensive', 'exhaustive', 2);
 levenshtein_less_equal
------------------------
                                          3
(1 row)

SELECT levenshtein_less_equal('extensive', 'exhaustive', 4);
 levenshtein_less_equal
------------------------
                                          4
(1 row)

4.4. levenshtein_less_equal_with_costs

与上述函数相似,增加如levenshtein_with_costs一样的代价花销。

4.5. metaphone

计算字符串的metaphone键。

语法

metaphone(text, int) returns text。

语法

text

参与计算的字符串。

int

参与运算的参考键值。

示例

SELECT metaphone('GUMBO', 4);
 metaphone
-----------
 KM
(1 row)

4.6. soundex, text_soundex

生成字符串的soundex键。

语法

soundex(text) rerturns text。

参数

text

参与计算的字符串。

示例

TEST=# select soundex('A500');
 soundex
---------
 A000
(1 行记录)

TEST=# select soundex('A529sd800');
 soundex
---------
 A230
(1 行记录)

TEST=# select soundex('A529sds800');
 soundex
---------
 A232
(1 行记录)

TEST=# select soundex('hello world');
 soundex
---------
 H464
(1 行记录)

4.7. difference

获得两个对比的字符串转换为soundex值后匹配的位数。

语法

difference(t1 text, t2 text) RETURNS int;

参数

t1

参与计算的字符串1。

t2

参与计算的字符串2。

示例

TEST=# select difference('ab', 'as');
 difference
------------
                  3
(1 行记录)

TEST=# select difference('ab', 'ab');
 difference
------------
                  4
(1 行记录)

4.8. dmetaphone

获取text的dmetaphone。

语法

dmetaphone(text) returns text。

参数

text

参与计算的text字符串。

示例

TEST=# select dmetaphone('tetx');
 dmetaphone
------------
 TTKS
(1 行记录)

5. 插件fuzzystrmatch卸载方法

不需要fuzzystrmatch插件只需要卸载插件即可。

示例

drop extension fuzzystrmatch;

6. 插件fuzzystrmatch升级方法

fuzzystrmatch扩展插件通常随KingbaseES安装包一并升级。通常情况下用户无法单独升级插件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值