我想实现一个使用向量空间模型的信息检索系统,但具有多术语标记和自定义术语权重函数。
我正在考虑在 PostgreSQL 而不是文件系统中构建我的倒排索引。我读到了 GIN 索引,它在 tsvector 列上建立了这样的索引。
我可以在不调用 to_tsvector 函数的情况下手动构建 tsvector 值,以便可以使用自定义标记和自定义权重构建“自定义”向量吗?
我想实现一个使用向量空间模型的信息检索系统,但具有多术语标记和自定义术语权重函数。
我正在考虑在 PostgreSQL 而不是文件系统中构建我的倒排索引。我读到了 GIN 索引,它在 tsvector 列上建立了这样的索引。
我可以在不调用 to_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)