📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

全文検索関数



TiDB Cloud Lake の全文検索関数は、転置インデックスが作成された半構造化 VARIANT データおよびプレーンテキストのカラムに対して、検索エンジンのようなフィルタリングを提供します。これらは、アセットとともに保存される AI 生成メタデータ(自動運転の動画フレームから得られる認識結果など)に最適です。

検索対象にするカラムについては、テーブル定義に転置インデックスを含めてください。

CREATE OR REPLACE TABLE frames ( id INT, meta VARIANT, INVERTED INDEX idx_meta (meta) );

検索関数

関数説明例
MATCH指定したカラム全体に対して、関連度順の検索を実行します。MATCH('summary, tags', 'traffic light red')
QUERYネストされた VARIANT フィールドを含む、Lucene スタイルのクエリ式を評価します。QUERY('meta.signals.traffic_light:red')
SCOREMATCH または QUERY とともに使用した場合に、現在の行の関連度スコアを返します。SELECT summary, SCORE() FROM frame_notes WHERE MATCH('summary, tags', 'traffic light red')

クエリ構文の例

例: 単一キーワード

SELECT id, meta['frame']['timestamp'] AS ts FROM frames WHERE QUERY('meta.detections.label:pedestrian') LIMIT 100;

例: Boolean AND

SELECT id, meta['frame']['timestamp'] AS ts FROM frames WHERE QUERY('meta.signals.traffic_light:red AND meta.vehicle.lane:center') LIMIT 100;

例: Boolean OR

SELECT id, meta['frame']['timestamp'] AS ts FROM frames WHERE QUERY('meta.signals.traffic_light:red OR meta.detections.label:bike') LIMIT 100;

例: IN リスト

SELECT id, meta['frame']['timestamp'] AS ts FROM frames WHERE QUERY('meta.tags:IN [stop urban]') LIMIT 100;

例: 包含範囲

SELECT id, meta['frame']['timestamp'] AS ts FROM frames WHERE QUERY('meta.vehicle.speed_kmh:[0 TO 10]') LIMIT 100;

例: 排他範囲

SELECT id, meta['frame']['timestamp'] AS ts FROM frames WHERE QUERY('meta.vehicle.speed_kmh:{0 TO 10}') LIMIT 100;

例: ブーストされたフィールド

SELECT id, meta['frame']['timestamp'] AS ts, SCORE() FROM frames WHERE QUERY('meta.signals.traffic_light:red^1.0 AND meta.tags:urban^2.0') LIMIT 100;

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