MATCH
MATCH は、指定したカラム内で与えられたキーワードを含む行を検索します。この関数は WHERE 句でのみ使用できます。
構文
MATCH('<columns>', '<keywords>'[, '<options>'])
<columns>: 検索対象のカラムをカンマ区切りで指定します。^<boost>を付けると、他のカラムより高い重みを設定できます。<keywords>: 検索する語句です。たとえばrust*のように、接尾辞一致には*を付けます。<options>: 検索を微調整するための、key=valueペアをセミコロン区切りで指定する任意のリストです。
オプション
例
多くの AI パイプラインでは、検索用に人が読める要約を実体化しつつ、構造化メタデータを VARIANT カラムに格納することがあります。次の例では、JSON ペイロードから抽出したドライブレコーダーのフレーム要約とタグを保存します。
例: 検索可能な要約を作成する
CREATE OR REPLACE TABLE frame_notes (
id INT,
camera STRING,
summary STRING,
tags STRING,
INVERTED INDEX idx_notes (summary, tags)
);
INSERT INTO frame_notes VALUES
(1, 'dashcam_front',
'Green light at Market & 5th with pedestrian entering the crosswalk',
'downtown commute green-light pedestrian'),
(2, 'dashcam_front',
'Vehicle stopped at Mission & 6th red traffic light with cyclist ahead',
'stop urban red-light cyclist'),
(3, 'dashcam_front',
'School zone caution sign in SOMA with pedestrian waiting near crosswalk',
'school-zone caution pedestrian');
例: ブール AND
SELECT id, summary
FROM frame_notes
WHERE MATCH('summary, tags', 'traffic light red', 'operator=AND');
-- Returns id 2
例: あいまい一致
SELECT id, summary
FROM frame_notes
WHERE MATCH('summary^2, tags', 'pedestrain', 'fuzziness=1');
-- Returns ids 1 and 3