DOCUMENTATION
/
言語
English
Français
Deutsch
日本語
한국어
Português
始めましょう
ガイド
開発者
参照情報
リリースノート
チュートリアル
ステータス
  1. 概要
    • Snowflake Horizon カタログ
      • Snowflakeに接続するためのアプリケーションおよびツール
      • 仮想ウェアハウス
      • データベース、テーブル、およびビュー
      • データ型
        • データ統合
          1. Snowflake Openflow
          2. Apache Iceberg™
            1. Apache Iceberg™ Tables
            2. Snowflake Open Catalog
        • Data engineering
          1. データのロード
          2. 動的テーブル
          3. ストリームおよびタスク
          4. Snowflakeでのdbtプロジェクト
          5. データのアンロード
        • Storage Lifecycle Policies
        • 移行
        • クエリ
            1. 結合
            2. サブクエリ
              • 階層データのクエリ
                • 共通テーブル式(CTE)
                  • 半構造化データのクエリ
                    • 全文検索を使用する
                      • 実行時に SQL を構築する
                        • 時系列データの分析
                          • ウィンドウ関数を使ったデータ分析
                            • 一致認識
                              • シーケンス
                                • 永続的なクエリ結果
                                  • 個別カウント
                                  • 類似度推定
                                    • 頻度推定
                                      • パーセンタイル値の推定
                                        • クエリ履歴でクエリのアクティビティをモニターする
                                          • クエリサイトを使用したパフォーマンスの向上
                                            • クエリハッシュ
                                              • Top-Kプルーニング
                                                • ステートメントをキャンセルする
                                              • リスト
                                              • コラボレーション
                                              • Snowflake AI & ML
                                              • Snowflake Postgres
                                              • アラートおよび通知
                                              • セキュリティ
                                              • データガバナンス
                                              • プライバシー
                                              • 組織およびアカウント
                                              • ビジネス継続性およびデータ復旧
                                              • パフォーマンスの最適化
                                              • コストと請求
                                              ガイドクエリ全文検索を使用する

                                              全文検索を使用する¶

                                              検索関数を使用すると、 IP、 VARIANT、 OBJECT 列のフィールドを含め、1つまたは複数のテーブルから、指定した列の文字データ(テキスト)と ARRAY アドレスを検索できます。この関数は、指定された検索語のリストに基づいて、指定された列または文字列のテキストを検索します。この関数は、検索セマンティクスに基づいてテキストが指定された検索語に一致する場合は TRUE を返します。

                                              多くの場合、 SEARCH 関数を呼び出すには、 SELECT リストか、 SELECT ステートメントの WHERE 句で指定します。関数が WHERE 句フィルターとして使用されている場合、関数が TRUE を返すと、クエリは行を返します。

                                              SEARCH 関数にはセットアップも追加権限も必要ありません。列のデータにアクセスする権限を持つロールを使用している場合、 SEARCH 関数を使用してそのデータを検索することができます。

                                              次のセクションでは、 SEARCH 関数についての詳細と、この関数を使用した場合のクエリパフォーマンスの最適化について説明します。

                                              • SEARCH 関数の使用

                                              • SEARCH_IP 関数の使用

                                              • SEARCH 関数を使用するクエリの最適化

                                              SEARCH 関数の使用¶

                                              SEARCH 関数 は、 VARIANT、 OBJECT、 ARRAY の列のフィールドを含む、1つ以上のテーブルから指定された列の文字データ(テキスト)を検索します。

                                              SEARCH関数を使用すると、テキストアナライザーはテキストをトークンに分割します。トークンとは、単語や数値など、テキストの個別の単位です。指定がない場合は、デフォルトのアナライザーが適用されます。アナライザーは、検索語とデータの両方からトークンを抽出します。

                                              検索語から抽出されたトークンが、検索セマンティクスに従って指定された列またはフィールドから抽出されたトークンと一致する場合、この関数は TRUEを返します。SEARCH_MODE関数の引数は、以下の検索モードのいずれかを指定します。

                                              • 'OR' :この関数は分離的セマンティクスを使用します。検索対象の列またはフィールドから抽出されたトークンのいずれかが、検索文字列から抽出されたトークンのいずれかと一致する場合、一致が成立します。例えば、 search_string の値が 'blue red green' の場合、この関数は、検索対象の列またはフィールドのいずれかに blue OR red OR green を含む行に対して TRUE を返します。

                                              • 'AND' :この関数は接続的セマンティクスを使用します。検索される列またはフィールドの 少なくとも1つ から抽出されたトークンが、検索文字列から抽出されたトークンの すべて と一致する場合に、一致が成立します。一致するトークンはすべて1つの列またはフィールドになければならなりません。複数の列やフィールドにまたがってはなりません。たとえば、 search_string の値が 'blue red green' の場合、この関数は検索対象の列またはフィールドの少なくとも1つに blue および(AND) red および(AND) green を含む行について TRUE を返します。

                                              • 'PHRASE' - この関数はフレーズ一致セマンティクスを使用します。検索される列またはフィールドの 少なくとも1つ から抽出されたトークンが、検索文字列から抽出された すべて のトークンとトークンの順序と隣接性を含めて一致する場合に、一致が成立します。

                                                一致セマンティクスは、以下の違いを除けば、論理積セマンティクスと同じです。

                                                • トークンの順番は正確に一致していなければなりません。たとえば、 search_string の値が 'blue,red,green' の場合、この関数は red,green,blue に対して FALSE を返します。

                                                • 検索データ内に追加のトークンを挟むことはできません。たとえば、 search_string の値が 'blue,red,green' の場合、この関数は blue,yellow,red,green に対して FALSE を返します。

                                              • 'EXACT' - この関数は完全一致セマンティクスを使用します。検索対象の列またはフィールドの 少なくとも1つ から抽出されたトークンが、検索文字列から抽出された すべて のトークンと区切り文字を含めて完全に一致する場合に、一致が成立します。

                                                一致ルールは、以下の違いを除いて、フレーズ検索セマンティクスと同じです。

                                                • トークン間の区切り文字列は正確に一致しなければなりません。たとえば、 search_string の値が 'blue,red,green' の場合、この関数は、検索対象の列またはフィールドの少なくとも1つに blue,red,green を含む行に対して TRUE を返します。この関数は、 blue|red| green や blue, red, green のようなバリエーションに対して FALSE を返します。

                                                • 区切り文字が search_string 値の最初または最後の文字である場合、区切り文字はマッチングのための文字として扱われます。したがって、最初と最後の区切り文字の左右にある区切り文字は、照合に影響する可能性があります。例えば、 search_string の値が '[blue]' の場合、この関数は foo [blue] bar 、 [[blue]] 、 =[blue]. に対しては TRUE を返しますが、 (blue) や foo blue bar に対しては返しません。

                                              以下の例では、デフォルトの SEARCH_MODE ('OR') とデフォルトのアナライザーで、 leopard テキスト内の文字列 snow leopard を検索しています:

                                              SELECT SEARCH('leopard', 'snow leopard');
                                              
                                              Copy
                                              +-----------------------------------+
                                              | SEARCH('LEOPARD', 'SNOW LEOPARD') |
                                              |-----------------------------------|
                                              | True                              |
                                              +-----------------------------------+
                                              

                                              次の例は、 lion というテキストから、 snow leopard という文字列を検索します。

                                              SELECT SEARCH('lion', 'snow leopard');
                                              
                                              Copy
                                              +--------------------------------+
                                              | SEARCH('LION', 'SNOW LEOPARD') |
                                              |--------------------------------|
                                              | False                          |
                                              +--------------------------------+
                                              

                                              次の例は、文字列 leopard の中から snow leopard を検索し、引数 SEARCH_MODE に 'AND' を指定します。

                                              SELECT SEARCH('leopard', 'snow leopard', search_mode => 'AND');
                                              
                                              Copy
                                              +---------------------------------------------------------+
                                              | SEARCH('LEOPARD', 'SNOW LEOPARD', SEARCH_MODE => 'AND') |
                                              |---------------------------------------------------------|
                                              | False                                                   |
                                              +---------------------------------------------------------+
                                              

                                              この関数の詳細とその他の例については、 SEARCH を参照してください。

                                              SEARCH_IP 関数の使用¶

                                              SEARCH_IP 関数 は、VARIANT、OBJECT および ARRAY 列のフィールドを含む、1つ以上のテーブルから、指定された文字列の有効な IPv4、IPv6 アドレスを検索します。検索は、指定した単一の IP アドレスに基づいて行われます。この IP アドレスが、指定された列またはフィールドの IP アドレスと完全に一致する場合、関数は TRUE を返します。

                                              次の例は、 192.0.2.146 のテキストから、 IP アドレス 10.10.10.1 を検索します。

                                              SELECT SEARCH_IP('192.0.2.146','10.10.10.1');
                                              
                                              Copy
                                              +---------------------------------------+
                                              | SEARCH_IP('192.0.2.146','10.10.10.1') |
                                              |---------------------------------------|
                                              | False                                 |
                                              +---------------------------------------+
                                              

                                              この関数の詳細とその他の例については、 SEARCH_IP を参照してください。

                                              SEARCH 関数を使用するクエリの最適化¶

                                              この関数を使用するクエリのパフォーマンスを向上させるために、オプションで FULL_TEXT 検索最適化 をテーブル内の特定の列または列のセットに対して有効にすることができます。検索最適化を有効にすると、新しい 検索アクセスパス が構築され、維持されます。

                                              このページは役に立ちましたか?

                                              Snowflakeに移動する
                                              会話に参加する
                                              Snowflakeで開発する
                                              フィードバックを共有する
                                              ブログでの最新情報を表示する
                                              独自の認定を取得する
                                              プライバシー通知サイト規約Cookieの設定© 2026 Snowflake, Inc. All Rights Reserved.
                                              1. SEARCH 関数の使用
                                              2. SEARCH_IP 関数の使用
                                              3. SEARCH 関数を使用するクエリの最適化
                                              1. SEARCH 関数
                                              2. SEARCH_IP 関数
                                              3. 検索最適化サービス