

# Usar pesquisa de texto completo no Babelfish
<a name="babelfish-postgres-fulltextsearch"></a>

A partir da versão 4.0.0, o Babelfish fornece suporte limitado para Pesquisa de texto completo (FTS). FTS é um recurso avançado em bancos de dados relacionais que permite a pesquisa e a indexação eficientes de dados com muito texto. Ela permite que os usuários realizem pesquisas de texto complexas e recuperem resultados relevantes rapidamente. A FTS é particularmente valiosa em aplicações que lidam com grandes volumes de dados textuais, como sistemas de gerenciamento de conteúdo, plataformas de comércio eletrônico e arquivos de documentos.

## Noções básicas sobre pesquisa de texto completo do Babelfish
<a name="babelfish-postgres-fulltextsearch-support"></a>

O Babelfish comporta os seguintes recursos de pesquisa de texto completo:
+ Cláusula CONTAINS:
  + Suporte básico para a cláusula CONTAINS. 

    ```
    CONTAINS (   
         {   
            column_name
         }   
         , '<contains_search_condition>'
    )
    ```
**nota**  
Atualmente, somente o idioma inglês é compatível.
  + Manipulação e tradução abrangentes de strings de pesquisa de `simple_term`.
+ Cláusula `FULLTEXT INDEX`:
  + Aceita apenas a declaração `CREATE FULLTEXT INDEX ON table_name(column_name [...n]) KEY INDEX index_name`.
  + Aceita a declaração `DROP FULLTEXT INDEX` completa.
**nota**  
Para reindexar o Índice de texto completo, você precisa descartá-lo e criar outro na mesma coluna.
+ Caracteres especiais na condição de pesquisa:
  + O Babelfish garante que ocorrências únicas de caracteres especiais em strings de pesquisa sejam tratadas de forma eficaz.
**nota**  
Embora o Babelfish agora identifique caracteres especiais na string de pesquisa, é essencial reconhecer que os resultados podem variar em comparação com os gerados com o T-SQL.
+ Alias da tabela em column\$1name:
  + Com o suporte a alias de tabela, os usuários podem criar consultas SQL mais concisas e legíveis para a pesquisa de texto completo.

## Limitações da pesquisa de texto completo no Babelfish
<a name="babelfish-postgres-fulltextsearch-unsupport"></a>
+ Atualmente, as seguintes opções não são compatíveis com o Babelfish para a cláusula `CONTAINS`.
  + Caracteres especiais e idiomas diferentes do inglês não são compatíveis. Você receberá a mensagem de erro genérica para caracteres e idiomas não compatíveis

    ```
    Full-text search conditions with special characters or languages other than English are not currently supported in Babelfish
    ```
  + Várias colunas, como `column_list`
  + Atributo PROPERTY
  + `prefix_term`, `generation_term`, `generic_proximity_term`, `custom_proximity_term`, e `weighted_term`
  + Como não há suporte para operadores boolianos, você receberá a seguinte mensagem de erro quando usá-los:

    ```
    boolean operators not supported
    ```
  + Não há suporte para nomes de identificadores com pontos.
+ Atualmente, as seguintes opções não são compatíveis com o Babelfish para a cláusula `CREATE FULLTEXT INDEX`.
  + [ TYPE COLUMN type\$1column\$1name ]
  + [ LANGUAGE language\$1term ]
  + [ STATISTICAL\$1SEMANTICS ]
  + opções de grupos de arquivos do catálogo
  + com opções
+ Não há compatibilidade com a criação de um catálogo de texto completo. A criação de um índice de texto completo não exige um catálogo de texto completo.
+ `CREATE FULLTEXT INDEX` não aceita nomes de identificadores com pontos.
+ No momento, o Babelfish não comporta caracteres especiais consecutivos nas strings de pesquisa. A seguinte mensagem de erro será exibida quando eles forem usados:

  ```
  Consecutive special characters in the full-text search condition are not currently supported in Babelfish
  ```