PostgreSQL:是否可以手动构建tsvector值?

PostgreSQL:是否可以手动构建tsvector值?,postgresql,inverted-index,tsvector,Postgresql,Inverted Index,Tsvector,我想实现一个信息检索系统,它使用向量空间模型,但使用多个术语标记和自定义术语权重函数 我正在考虑用PostgreSQL而不是文件系统构建反向索引。我读过关于在tsvector列上构建这样一个索引的GIN索引 我是否可以在不调用tsvector函数的情况下手动生成tsvector值,以便使用自定义标记和自定义权重生成“自定义”向量?您可以手动生成tsvector。但据我所知,您只能分配4种不同的权重,A、B、C或D。多单词标记必须放在单引号中,以便将它们作为一个标记放在一起 select $$'t

我想实现一个信息检索系统,它使用向量空间模型,但使用多个术语标记和自定义术语权重函数

我正在考虑用PostgreSQL而不是文件系统构建反向索引。我读过关于在tsvector列上构建这样一个索引的GIN索引


我是否可以在不调用tsvector函数的情况下手动生成tsvector值,以便使用自定义标记和自定义权重生成“自定义”向量?

您可以手动生成tsvector。但据我所知,您只能分配4种不同的权重,A、B、C或D。多单词标记必须放在单引号中,以便将它们作为一个标记放在一起

select $$'two words':1c oneword$$::tsvector;
         tsvector         
--------------------------
 'oneword' 'two words':1C

如果对任何人都有帮助,请根据原始答案:

select $$'foo':1 'bar':2 'baz':10$$::tsvector;
         tsvector         
--------------------------
 'bar':2 'baz':10 'foo':1
(1 row)

但我需要分配给术语的权重是一个修改的TF-IDF值,而不是“a”、“B”或“C”!这是可能的还是不可能的?@Nina不可能使用tsvector.Emmm,所以我不能依赖PostgreSQL作为我的信息检索系统。不管怎样,我都会把你的帖子标记为答案,因为你已经给出了手工构建tsvector的方法