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

                                            全文検索を使用する¶

                                            検索関数を使用すると、 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つ以上のテーブルから指定された列の文字データ(テキスト)を検索します。

                                            When you use the SEARCH function, a text analyzer breaks the text into tokens, which are discrete units of text, such as words or numbers. A default analyzer is applied if you don't specify one. The analyzer extracts tokens from both the search terms and the data.

                                            If tokens extracted from the search terms match tokens extracted from a specified column or field according to the search semantics, the function returns TRUE. The SEARCH_MODE function argument specifies one of the following search modes:

                                            • 'OR' - The function uses disjunctive semantics. There is a match if any of the tokens extracted from the columns or fields being searched match any of the tokens extracted from the search string. For example, if the search_string value is 'blue red green', the function returns TRUE for a row that contains blue OR red OR green in any of the columns or fields being searched.

                                            • 'AND' - The function uses conjunctive semantics. There is a match if the tokens extracted from at least one of the columns or fields being searched matches all of the tokens extracted from the search string. The matching tokens must all be in one column or field; they can't be spread across multiple columns or fields. For example, if the search_string value is 'blue red green', the function returns TRUE for a row that contains blue AND red AND green in at least one of the columns or fields being searched.

                                            • '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で開発する
                                            フィードバックを共有する
                                            ブログでの最新情報を表示する
                                            独自の認定を取得する
                                            プライバシー通知サイト規約Cookies Settings© 2025 Snowflake, Inc. All Rights Reserved.
                                            1. SEARCH 関数の使用
                                            2. SEARCH_IP 関数の使用
                                            3. SEARCH 関数を使用するクエリの最適化
                                            1. SEARCH 関数
                                            2. SEARCH_IP 関数
                                            3. Search optimization service
                                            言語: 日本語
                                            • English
                                            • Français
                                            • Deutsch
                                            • 日本語
                                            • 한국어
                                            • Português