

# Babelfish での全文検索の使用
<a name="babelfish-postgres-fulltextsearch"></a>

バージョン 4.0.0 以降、Babelfish では全文検索 (FTS) の制限付きサポートを提供しています。FTS は、テキストが多いデータの効率的な検索とインデックス作成を可能にするリレーショナルデータベースの強力な機能です。これにより、ユーザーは複雑なテキスト検索を実行し、関連する結果をすばやく取得できます。FTS は、コンテンツ管理システム、e コマースプラットフォーム、ドキュメントアーカイブなど、大量のテキストデータを処理するアプリケーションにとって特に重要です。

## Babelfish の全文検索でサポートされている機能について
<a name="babelfish-postgres-fulltextsearch-support"></a>

Babelfish は、以下の全文検索機能をサポートしています。
+ CONTAINS 句:
  + CONTAINS 句の基本サポート。

    ```
    CONTAINS (   
         {   
            column_name
         }   
         , '<contains_search_condition>'
    )
    ```
**注記**  
現在、英語のみがサポートされています。
  + `simple_term` 検索文字列の包括的な処理と翻訳。
+ `FULLTEXT INDEX` 句:
  + `CREATE FULLTEXT INDEX ON table_name(column_name [...n]) KEY INDEX index_name` ステートメントのみをサポートします。
  + 完全な `DROP FULLTEXT INDEX` ステートメントをサポートします。
**注記**  
全文インデックスのインデックスを再作成するには、全文インデックスを削除し、同じ列に新しいインデックスを作成する必要があります。
+ 検索条件の特殊文字:
  + Babelfish は、検索文字列内の特殊文字の 1 回限りの出現を効果的に処理します。
**注記**  
Babelfish は検索文字列内の特殊文字を識別するようになりましたが、取得される結果は T-SQL で取得されるものとは異なる場合があることに注意してください。
+ column\_name のテーブルエイリアス:
  + テーブルエイリアスがサポートされているため、ユーザーは全文検索でより簡潔で読みやすい SQL クエリを作成できます。

## Babelfish での全文検索に関する制限
<a name="babelfish-postgres-fulltextsearch-unsupport"></a>
+ 現在、`CONTAINS` 句に対して Babelfish では以下のオプションはサポートされていません。
  + 英語以外の特殊文字や言語はサポートされていません。サポートされていない文字と言語に関する一般的なエラーメッセージが表示されます

    ```
    Full-text search conditions with special characters or languages other than English are not currently supported in Babelfish
    ```
  + `column_list` のような複数の列
  + PROPERTY 属性
  + `prefix_term`、`generation_term`、`generic_proximity_term`、`custom_proximity_term`、および `weighted_term`
  + ブール演算子はサポートされていません。使用すると、次のエラーメッセージが表示されます。

    ```
    boolean operators not supported
    ```
  + ドットを含む識別子名はサポートされていません。
+ 現在、`CREATE FULLTEXT INDEX` 句に対して Babelfish では以下のオプションはサポートされていません。
  + [ TYPE COLUMN type\_column\_name ]
  + [ LANGUAGE language\_term ]
  + [ STATISTICAL\_SEMANTICS ]
  + カタログファイルグループオプション
  + オプションあり
+ フルテキストカタログの作成はサポートされていません。フルテキストインデックスを作成する場合、フルテキストカタログは必要ありません。
+ `CREATE FULLTEXT INDEX` は、ドットを含む識別子名をサポートしていません。
+ Babelfish は現在、検索文字列で連続する特殊文字をサポートしていません。連続した特殊文字を使用すると、次のメッセージが表示されます。

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