全文検索を使用する¶
検索関数を使用すると、 VARIANT、 OBJECT、 ARRAY 列のフィールドを含め、1つまたは複数のテーブルから、指定した列の文字データ(テキスト)と IPv4 アドレスを検索できます。この関数は、指定された検索語のリストに基づいて、指定された列または文字列のテキストを検索します。この関数は、テキストが指定された検索語のいずれかにマッチすれば、 TRUE を返します。
多くの場合、 SEARCH 関数を呼び出すには、 SELECT リストか、 SELECT ステートメントの WHERE 句で指定します。関数が WHERE 句フィルターとして使用されている場合、関数が TRUE を返すと、クエリは行を返します。
SEARCH 関数にはセットアップも追加権限も必要ありません。列のデータにアクセスする権限を持つロールを使用している場合、 SEARCH 関数を使用してそのデータを検索することができます。
次のセクションでは、 SEARCH 関数についての詳細と、この関数を使用した場合のクエリパフォーマンスの最適化について説明します。
SEARCH 関数の使用¶
SEARCH 関数 は、 VARIANT、 OBJECT、 ARRAY の列のフィールドを含む、1つ以上のテーブルから指定された列の文字データ(テキスト)を検索します。
SEARCH 関数を使用すると、テキストアナライザーはテキストを トークン に分割します。トークンとは、単語や数値など、テキストの個別の単位です。指定がない場合は、デフォルトのアナライザーが適用されます。アナライザーは、検索語とデータの両方からトークンを抽出します。検索語から抽出されたトークンが、指定された列またはフィールドから抽出されたトークンと完全に一致する場合、この関数は TRUE を返します。
次の例は、 snow leopard
というテキストから、 LEOPARD
という文字列を検索します。
SELECT SEARCH('snow leopard','LEOPARD');
+----------------------------------+
| SEARCH('SNOW LEOPARD','LEOPARD') |
|----------------------------------|
| True |
+----------------------------------+
次の例は、 snow leopard
というテキストから、 LION
という文字列を検索します。
SELECT SEARCH('snow leopard','LION');
+-------------------------------+
| SEARCH('SNOW LEOPARD','LION') |
|-------------------------------|
| False |
+-------------------------------+
検索語のリストは OR リストであるため、リストされた用語にマッチすると TRUE が返されます。検索に別のロジックが必要な場合は、クエリを変更することができます。例えば、 AND 条件を持つクエリで、 SEARCH 関数を複数回呼び出すことができます。
この関数の詳細とその他の例については、 SEARCH を参照してください。
SEARCH_IP 関数の使用¶
SEARCH_IP 関数 は、 VARIANT、 OBJECT、 ARRAY 列のフィールドを含む、1つ以上のテーブルから、指定された文字列の列の有効な IPv4 アドレスを検索します。検索は、指定した単一の IP アドレスに基づいて行われます。この IP アドレスが、指定された列またはフィールドの IP アドレスと完全に一致する場合、関数は TRUE を返します。
次の例は、 192.0.2.146
のテキストから、 IP アドレス 10.10.10.1
を検索します。
SELECT SEARCH_IP('192.0.2.146','10.10.10.1');
+---------------------------------------+
| SEARCH_IP('192.0.2.146','10.10.10.1') |
|---------------------------------------|
| False |
+---------------------------------------+
この関数の詳細とその他の例については、 SEARCH_IP を参照してください。
SEARCH 関数を使用するクエリの最適化¶
この関数を使用するクエリのパフォーマンスを向上させるために、オプションで FULL_TEXT 検索最適化 をテーブル内の特定の列または列のセットに対して有効にすることができます。検索最適化を有効にすると、新しい 検索アクセスパス が構築され、維持されます。