我在 postgres 中有一个带有 ts_vector 列的搜索表。当我将 dstring 插入此列时,它看起来像是对其进行了矢量化处理,但它不会执行任何词干或删除停用词:
test=# create table sample_ts_vec ( id varchar(255), tsv tsvector);
CREATE TABLE
test=# insert into sample_ts_vec values ('t1234', 'this is a test');
INSERT 0 1
test=# select * from sample_ts_vec;
id | tsv
-------+------------------------
t1234 | 'a' 'is' 'test' 'this'
(1 row)
test=# insert into sample_ts_vec values ('t1235', to_tsvector('this is a test'));
INSERT 0 1
test=# select * from sample_ts_vec;
id | tsv
-------+------------------------
t1234 | 'a' 'is' 'test' 'this'
t1235 | 'test':4
(2 rows)
您会注意到,在第二个插入中,删除了 3 个停用词,并且词干了(在这种情况下,不需要词干),而在第一个示例中,每个词都被添加。如何在插入之前将 to_tsvector 函数自动应用于字符串值?