Búsqueda de texto completo
Cada registro se indexa automáticamente para la búsqueda por palabras clave. Una consulta devuelve los registros que contienen sus palabras, primero la mejor coincidencia, y solo los que quien llama puede leer.
Qué se indexa
El índice cubre la clave natural de cada registro y sus datos, con la clave natural con el mayor peso. Es una columna generada en Postgres, así que la base de datos la mantiene al día a medida que se escriben los registros.
Cómo coincide una consulta
Una consulta encuentra los registros que contienen las palabras buscadas y los ordena por relevancia, primero el mejor. La coincidencia es por palabras completas, con las reglas del idioma inglés. La coincidencia por subcadena y por prefijo en un solo campo corresponde a las consultas de lista, que tienen filtros de contiene y empieza por para los campos de texto. La recuperación por significado es otra función, la búsqueda semántica.
Limitada a lo que quien llama puede leer
La búsqueda se ejecuta para quien llama bajo las reglas de acceso por fila, así que un registro que no puede leer no aparece como resultado. En la API pública, cada resultado se resuelve después como lo resolvería una lectura normal, y se descarta el que quien llama no puede ver.
Cómo llamarla
searchRecords busca entre modelos y se puede limitar a uno con su clave de modelo. Cada resultado devuelve el id del registro, su clave de modelo, su clave natural, una puntuación y el contenido. La consulta necesita el search:read alcance, y una clave restringida a modelos concretos no puede ejecutarla entre modelos. foir search ejecuta la misma búsqueda desde una terminal.
Lee el detalle
La referencia del SDK lista las llamadas de búsqueda del cliente de datos, entre modelos y por modelo.