首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL:如何实现杜松子酒?

PostgreSQL:如何实现杜松子酒?
EN

Stack Overflow用户
提问于 2013-07-05 13:09:14
回答 1查看 275关注 0票数 1

我想把我的文本哈希函数放到GIN索引器中。

见下面的扩展性:

http://www.postgresql.org/docs/9.0/static/gin-extensibility.html

我能理解比较

代码语言:javascript
复制
int compare(Datum a, Datum b)

然而,extractValueextractQueryconsistent又如何?

代码语言:javascript
复制
Datum *extractValue(Datum inputValue, int32 *nkeys)

Datum *extractQuery(Datum query, int32 *nkeys, StrategyNumber n, bool **pmatch, Pointer **extra_data)

bool consistent(bool check[], StrategyNumber n, Datum query, int32 nkeys, Pointer extra_data[], bool *recheck)

手册并没有帮助我实现它们。

我知道如何实现它们。详细情况:

  • 传递给extractValue的inputValue
  • extractValue返回的内容
  • 传递给extractQuery查询的内容
  • extractQuery返回的内容
  • 传递给一致性查询的内容
  • 通过什么来检查一致性

索引存储(哈希密钥)将是int4。输入类型为text

EN

回答 1

Stack Overflow用户

发布于 2013-07-07 09:18:41

你看过所有的文件了吗?你知道逆指数的作用吗。我不能完全回答你的问题,因为你没有具体说明你的查询会是什么样子。但这是一次尝试(基于http://www.postgresql.org/docs/9.2/static/gin-extensibility.htmlhttp://www.sai.msu.su/~megera/wiki/Gin的信息)。另外,请看tsearch示例。

输入到compare是两个键值,所以两个整数。

extractValue的输入是您的输入类型,文本。输出是一个键数组:在您的例子中,显然是一个整数数组。

extractQuery作为输入获取查询类型,这可能是一个字符串(您没有指定),并返回一个您希望系统查找匹配项的有趣键列表。它还可以返回consistant方法的额外信息。

在系统根据您从extractQuery返回的内容找到有趣的值后,此方法将返回该值是否与查询实际匹配。

由于您还没有指定查询类型,所以我将给出一个全文搜索的示例。例如,查询类型是一个字符串,如'foo and bar',这将返回键'foo‘和'bar’以及一些数据,因此consistant函数知道这两个术语都必须存在。

但实际上,这些都是在上面的页面中描述的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17489703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档