completoTexto

@Alvo(allowTargets = [AnnotationTarget.FIELD])
classe de anotação FullText

Anotação que marca uma propriedade como tendo um índice de texto completo, que permitirá query de texto completo sobre ela. As pesquisas de texto completo são feitas usando o predicado TEXT , por exemplo:

realm.query<Person>("bio TEXT 'computer dancing'").find()`

Somente propriedades de cadeia podem ser marcadas com essa anotação e ela não pode ser combinada com as anotações de Índice e Chave Primária.

Atualmente, o índice de texto completo suporta este conjunto de funcionalidades:

  • Pesquisar de token ou palavra, por exemplo bio TEXT 'computer dancing' encontrará todos os objetos que contêm as palavras computer e dancing em sua propriedade bio .

  • Os tokens são diacríticos e não diferenciam maiúsculas de minúsculas, por exemplo,bio TEXT 'cafe dancing' e bio TEXT 'café DANCING' retornarão o mesmo conjunto de correspondências.

  • A pesquisa de prefixo de token pode ser feita usando *, como bio TEXT comp*.

  • Ignorar resultados com determinados tokens é feito usando -, por exemplo bio TEXT 'computer -dancing' encontrará todos os objetos que contêm computer , mas não dancing.

  • Os tokens são definidos por um tokenizador simples que utiliza as seguintes regras:

  • Os tokens só podem consistir em caracteres alfanuméricos do ASCII e do suplemento Latin-1.

  • Todos os outros caracteres são considerados espaços em branco. Em particular, palavras que usam - como full-text são feitas uma divisão em dois tokens.

Observe as seguintes restrições antes de usar a pesquisa de texto completo:

  • A pesquisa de sufixo de token como bio TEXT '*cing' não é suportada.

  • Somente caracteres alfanuméricos ASCII e Latin-1 estão incluídos no índice (a maioria dos idiomas ocidentais).

  • Somente a correspondência booleana é suportada, ou seja, "encontrada" ou "não encontrada". Não é possível classificar os resultados por "relevância".