sql - 全文搜索中权重参数的限制是多少
问题描述
我可以添加 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
错误:无法识别的重量:69
SQL 状态:XX000
解决方案
文档说你只能有4个:
setweight 返回输入向量的副本,其中每个位置都用给定的权重标记,可以是 A、B、C 或 D。(D 是新向量的默认值,因此不会显示在输出中。)这些标签当向量连接时保留,允许来自文档不同部分的单词通过排名函数进行不同的加权。
请注意,权重标签适用于位置,而不是词位。如果输入向量的位置已经被剥离,那么 setweight 什么也不做。
推荐阅读
- javascript - Play and pause on webp animated images
- php - How Should I save input values of HTML form in sql from php
- c++ - Rotate NxM Matrix Efficiently when Represented as a One Dimensional Vector of Objects (C++)
- typescript - 打字稿 - 通用实现
- ios - 在“PSPDFViewController *”类型的对象上找不到属性“pagingScrollView”
- ionic-framework - Error while building android apk in ionic 3
- php - PHPMailer emails NOT sending sometimes because of multiple tests?
- c# - 首先使用代码上传 mvc5 应用程序文件而不在实时站点中发布文件
- kubernetes - 如何在 kubernetes 中使用 consul 作为默认 dns 或服务发现
- android - 运行时 IllegalStateException 预期开始数组,但为字符串