5

我在阅读PostgreSQL 9.3 文档中的物化视图时遇到了以下示例,该示例参考了单词的拼写检查:

SELECT word FROM words ORDER BY word <-> 'caterpiler' LIMIT 10;

我试过搜索 Google 和 StackOverflow,但标点符号被过滤掉了,我看不出它指的是什么。有人可以解释它的用途和用途吗?

也许还有一个文档链接,我可以在其中阅读更多关于其使用细节的信息?

4

3 回答 3

4

根据http://www.postgresql.org/docs/9.1/static/pgtrgm.html这个运算符<->返回字符串之间的编辑距离

text <-> text real 返回参数之间的“距离”,即减一减去similarity() 值。

所以整个查询在编辑距离方面寻找与单词“caterpiler”最相似的 10 个单词

于 2013-08-20T16:42:46.230 回答
1

这是查找两个几何图形之间距离的运算符(请参阅文档)。此外,它是字符串之间的“距离”(Levenshtein's?文档没有明确说明)根据这个

text <-> text返回参数之间的“距离”,即 1 减去相似度()值。

于 2013-08-20T16:33:58.443 回答
0

这是“之间的距离”运算符,但只有记录的操作数是几何类型(点、形状等)。

在对字符串进行了一些实验之后,它似乎返回了一个列文斯坦距离函数:

  • 'abc' <-> 'abc'--> 0
  • 'abc' <-> 'abcd'--> 0.5
  • 'abc' <-> 'abd'--> 0.6666
于 2013-08-20T16:46:26.820 回答