我正在阅读PostgreSQL 9.3文档中关于物化视图的内容,并遇到了以下例子,该例子是为了参考拼写检查单词而给出的:
SELECT word FROM words ORDER BY word <-> 'caterpiler' LIMIT 10;
我尝试搜索了Google和StackOverflow,但是标点符号被过滤掉了,所以我无法理解它指的是什么。有人能解释一下它是如何使用以及用于什么吗?另外,可以给我一个链接,让我能够详细了解它的用法吗?
我正在阅读PostgreSQL 9.3文档中关于物化视图的内容,并遇到了以下例子,该例子是为了参考拼写检查单词而给出的:
SELECT word FROM words ORDER BY word <-> 'caterpiler' LIMIT 10;
<->
返回字符串之间的编辑距离。
因此,整个查询是为了找到与单词“caterpiler”在编辑距离方面最相似的10个单词。text <-> text real 返回参数之间的“距离”,即为1减去similarity()值。
这是用于查找两个几何图形之间距离的运算符(请参见文档)。此外,根据该文档,它也是字符串之间的“距离”(Levenshtein's? 该文档没有明确说明):
text <-> text
返回参数之间的“距离”,即相似性()值减去一。
这是“距离”运算符,但它只记录几何类型(点、形状等)的操作数。
经过一些字符串实验,它似乎返回 levenstein距离的函数:
'abc' <-> 'abc'
--> 0'abc' <-> 'abcd'
--> 0.5'abc' <-> 'abd'
--> 0.6666
SELECT * FROM pg_operator where oprname = '<->' ;
- joop