Busca de texto completo
Todo registro é indexado automaticamente para busca por palavra-chave. Uma consulta retorna os registros que contêm suas palavras, do melhor resultado para o pior, e somente aqueles que o chamador pode ler.
O que é indexado
O índice cobre a chave natural de cada registro e seus dados, com a chave natural com o maior peso. É uma coluna gerada no Postgres, então o banco a mantém atualizada conforme os registros são gravados.
Como uma consulta encontra resultados
Uma consulta encontra registros que contêm as palavras buscadas e os ordena por relevância, do melhor para o pior. A correspondência é por palavras inteiras, sob as regras do idioma inglês. A correspondência por trecho e por prefixo em um único campo cabe às consultas de lista, que têm filtros contains e starts-with para campos de texto. A recuperação por significado é um recurso à parte, a busca semântica.
Restrita ao que o chamador pode ler
A busca roda sob as regras de acesso por linha do chamador, então um registro que ele não pode ler não aparece como resultado. Na API pública, cada resultado é então resolvido da mesma forma que uma leitura comum o resolveria, e aquele que o chamador não pode ver é descartado.
Como chamar
searchRecords busca entre modelos e pode ser limitada a um deles pela chave do modelo. Cada resultado retorna o id do registro, a chave do modelo, a chave natural, uma pontuação e o conteúdo. A consulta precisa do escopo search:read para isso, e uma chave restrita a modelos específicos não pode executá-la entre modelos. foir search executa a mesma busca a partir de um terminal.
Leia os detalhes
A referência do SDK lista as chamadas de busca no cliente de dados, entre modelos e por modelo.