解释< - >的使用在PostgreSQL中

时间:2013-08-20 16:19:40

标签: postgresql

我正在阅读PostgreSQL 9.3文档中的materialized views并阅读以下示例,该示例在拼写检查单词时提供:

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

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

也许是文档的链接,我可以在其中详细了解其用法的详细信息?

3 个答案:

答案 0 :(得分:4)

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

  

text&lt; - &gt; text real返回参数之间的“距离”,即1减去similarity()值。

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

答案 1 :(得分:1)

这是找到两个几何图形之间距离的算子(参见documentation)。另外,根据Levenshtein's,字符串之间的“距离”(this?文档没有明确说明):

  

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

答案 2 :(得分:0)

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

经过一些字符串实验后,它似乎返回了levenstein distance

的函数
  • 'abc' <-> 'abc' - &gt; 0
  • 'abc' <-> 'abcd' - &gt; 0.5
  • 'abc' <-> 'abd' - &gt; 0.6666