我想模仿这种类型的Solr查询:
http://wiki.apache.org/solr/MoreLikeThis
PostgreSQL使用其全文搜索工具.
有没有办法用纯粹的postgres做一个像"更像这样"的查询?
恐怕不是开箱即用的。可以比较两个 tsvector 以确定它们是否足够相似,或者提取前 n 个相似的 tsvector,但没有现成的功能可以执行此操作。好消息是,由于 tsvectors 支持 GIN 索引,因此复杂的部分已经为您完成。
我认为你需要做的是在 C 中创建一个函数来确定两个 tsvector 的交集。从那里您可以创建一个函数来确定它们是否重叠,并创建一个运算符来解决这个问题。从那里开始,根据最大重叠创建排名应该不会太难。
当然,我怀疑这在 C 等语言中是最容易做到的,但如果需要,您也可以使用其他过程语言。
PostgreSQL 的美妙之处在于一切皆有可能。当然,缺点是当你远离核心功能时,你需要自己做很多事情。
归档时间: |
|
查看次数: |
297 次 |
最近记录: |