

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Babelfish 中使用全文搜尋
<a name="babelfish-postgres-fulltextsearch"></a>

從 4.0.0 版開始，Babelfish 為全文搜尋 (FTS) 提供有限的支援。FTS 是關聯式資料庫中強大的功能，可有效搜尋大量文字資料和為其編製索引。此功能可讓您執行複雜的文字搜尋，並快速擷取相關結果。FTS 對於處理大量文字資料的應用程式特別重要，例如內容管理系統、電子商務平台和文件封存。

## 了解 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 可確保有效處理搜尋字串中出現的單一特殊字元。
**注意**  
雖然 Babelfish 現在會在搜尋字串中識別特殊字元，但請務必注意取得的結果可能與使用 T-SQL 取得的結果不同。
+ column\_name 中的資料表別名：
  + 透過資料表別名支援，使用者可以為全文搜尋建立更簡潔、可讀的 SQL 查詢。

## Babelfish 全文搜尋中的限制
<a name="babelfish-postgres-fulltextsearch-unsupport"></a>
+ 目前，Babelfish 中不支援 `CONTAINS` 子句的下列選項。
  + 不支援英文以外的特殊字元和語言。您將收到不支援字元和語言的一般錯誤訊息

    ```
    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
    ```
  + 不支援帶有句點的識別符名稱。
+ 目前，Babelfish 中不支援 `CREATE FULLTEXT INDEX` 子句的下列選項。
  + [ 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
  ```