全文搜索
每条记录都会自动建立关键词搜索索引。查询返回包含其关键词的记录,最匹配的排在前面,并且只返回调用方有权读取的记录。
被索引的内容
索引涵盖每条记录的自然键及其数据,其中自然键的权重最高。它是 Postgres 中的生成列,因此记录写入时由数据库保持其最新。
查询如何匹配
查询会匹配包含这些搜索词的记录,并按相关度排序,最相关的在前。匹配以整词为单位,遵循英语语言规则。对单个字段的子串和前缀匹配属于列表查询,列表查询为文本字段提供了包含和以其开头的过滤条件。按含义检索是另一项功能,即语义搜索。
限定在调用方可读取的范围内
搜索在调用方的行级访问规则下运行,因此调用方无法读取的记录不会成为命中结果。在公开 API 上,每条命中结果随后会按普通读取的方式解析,调用方无权查看的会被丢弃。
如何调用
searchRecords可跨模型搜索,也可以通过模型键限定为某一个模型。每条命中结果返回记录的 id、模型键、自然键、得分和内容。该查询需要search:read作用域,限定在特定模型的密钥无法跨模型运行它。foir search可在终端中运行同样的搜索。
阅读详情
SDK 参考文档列出了数据客户端上的搜索调用,包括跨模型和按模型的搜索。