我想把我的文本哈希函数放到GIN索引器中。
见下面的扩展性:
http://www.postgresql.org/docs/9.0/static/gin-extensibility.html
我能理解比较。
int compare(Datum a, Datum b)然而,extractValue、extractQuery和consistent又如何?
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)手册并没有帮助我实现它们。
我知道如何实现它们。详细情况:
索引存储(哈希密钥)将是int4。输入类型为text。
发布于 2013-07-07 09:18:41
你看过所有的文件了吗?你知道逆指数的作用吗。我不能完全回答你的问题,因为你没有具体说明你的查询会是什么样子。但这是一次尝试(基于http://www.postgresql.org/docs/9.2/static/gin-extensibility.html和http://www.sai.msu.su/~megera/wiki/Gin的信息)。另外,请看tsearch示例。
输入到compare是两个键值,所以两个整数。
extractValue的输入是您的输入类型,文本。输出是一个键数组:在您的例子中,显然是一个整数数组。
extractQuery作为输入获取查询类型,这可能是一个字符串(您没有指定),并返回一个您希望系统查找匹配项的有趣键列表。它还可以返回consistant方法的额外信息。
在系统根据您从extractQuery返回的内容找到有趣的值后,此方法将返回该值是否与查询实际匹配。
由于您还没有指定查询类型,所以我将给出一个全文搜索的示例。例如,查询类型是一个字符串,如'foo and bar',这将返回键'foo‘和'bar’以及一些数据,因此consistant函数知道这两个术语都必须存在。
但实际上,这些都是在上面的页面中描述的。
https://stackoverflow.com/questions/17489703
复制相似问题