全文搜索中权重参数的限制是什么

问题描述 投票:0回答:1

我可以添加4个权重,但是我添加第五个权重的时候出现错误

update pois 
set tsearch = setweight(to_tsvector(name), 'A') ||
              setweight(to_tsvector(coalesce(state_name, '')), 'B') ||
              setweight(to_tsvector(coalesce(city_name)), 'C') ||
              setweight(to_tsvector(coalesce(address, '')), 'D') ||   -- 4 weight work ok
              setweight(to_tsvector(coalesce(sector_name, '')), 'E'); -- add this and got error

错误:无法识别的重量:69SQL状态:XX000

sql postgresql full-text-search postgresql-12
1个回答
0
投票

documentation说您只能有4个:

setweight返回输入向量的副本,其中每个位置均已用给定的权重(A,B,C或D标记)。(D是新向量的默认值,因此不会显示在输出中。)连接向量时会保留这些标签,从而允许通过排序功能对来自文档不同部分的单词进行不同的加权。

请注意,重量标签适用于位置,而不适用于词位。如果输入向量已去除位置,则setweight不执行任何操作。

© www.soinside.com 2019 - 2024. All rights reserved.