Basic Text Search 查询语法

使用 bts_contains() 搜索谓词可执行 Basic Text Search 查询。

bts_contains() 搜索谓词
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 指南:语法