你如何模仿Solr;更像是这样的疑问;使用Postgresql全文搜索?

你如何模仿Solr;更像是这样的疑问;使用Postgresql全文搜索?,postgresql,solr,Postgresql,Solr,我想模拟这种类型的Solr查询: 使用PostgreSQL的全文搜索功能 有没有一种方法可以用纯postgres进行“更像这样”的查询?恐怕不是现成的。可以比较两个tsvectors以确定它们是否足够相似,或者提取前n个相似的tsvectors,但没有现成的功能来完成此操作。好消息是,由于tsvectors支持GIN索引,复杂的部分已经为您完成 我想你需要做的是在C中创建一个函数,它确定两个向量的交集。在此基础上,您可以创建一个确定它们是否重叠的函数和一个解决此问题的运算符。从这里开始,根据最

我想模拟这种类型的Solr查询:

使用PostgreSQL的全文搜索功能


有没有一种方法可以用纯postgres进行“更像这样”的查询?

恐怕不是现成的。可以比较两个tsvectors以确定它们是否足够相似,或者提取前n个相似的tsvectors,但没有现成的功能来完成此操作。好消息是,由于tsvectors支持GIN索引,复杂的部分已经为您完成

我想你需要做的是在C中创建一个函数,它确定两个向量的交集。在此基础上,您可以创建一个确定它们是否重叠的函数和一个解决此问题的运算符。从这里开始,根据最大重叠创建排名应该不会太难

当然,我怀疑这在像C这样的语言中是最容易做到的,但是如果需要的话,您也可以使用其他过程语言


PostgreSQL的奇妙之处在于,一切皆有可能。当然,缺点是,当你远离核心功能时,你会自己做很多事情。

你能补充更多信息吗,你的需求是什么?您正在寻找彼此相似的文档吗?使用全文搜索对文档进行排名?某种混合方法?