使用 bts_contains() 搜索谓词可执行 Basic Text Search 查询。
- column
- 要搜索的列。该列必须是已经定义 bts 索引的单个列。
- query_parse_string
- 正在搜索的单词或短语,以及可选的搜索运算符。请将 query_parse_string 用单引号引起来。如果使用 XML 索引参数对数据建立索引,请包含 XML 标记字段或路径字段,后跟可搜索的文本,格式为 fieldname:string。如果索引是使用 default_query_field 索引参数创建的组合索引,那么您可以包含字段名,格式为 fieldname:string
- score # REAL
- 用于将语句局部变量 (SLV) 传递到文本搜索引擎的可选自变量。搜索引擎使用此变量记录其分配给结果中的每行的文档分数。分数值是介于 0.0 和 100.0 之间(包括
0.0 和 100.0 在内)的一个实数,表示与已建立索引的其他记录比较而言,每个文档与搜索条件相关的程度。文档的分数值越高,表明文档与条件的匹配度就越高。
以下示例显示对表
products 中列
brands 内的单词
standard 进行的搜索。
SELECT id FROM products
WHERE bts_contains(brands, 'standard');
可以将 SLV 用作过滤机制并按分数对结果进行排序。以下示例中返回表 products 中在列 brands 内包含词语 standard 并且文档分数值大于 70 的文档。结果会按分数以降序排序。
SELECT id FROM products
WHERE bts_contains(brands, 'standard', score # REAL)
AND score > 70.0;
ORDER BY score DESC;
有关 SLV 的更多信息,请参阅 GBase 8s SQL 指南:语法。