はじめに
CMS APIで使用される動画検索のバージョン2では、構文が簡素化され、より使いやすくなっています。
どの構文を使用するかは、適切なURLパラメーターを選択するだけです。
- 新しいv2検索を使用するには:
.../videos?query={search_string}
- 元の検索を使用するには:
.../videos?q={search_string}
ベーシック
検索文字列の基本要素は 検索語であり、その前にフィールド名を付けることができます。フィールド名が含まれている場合、そのメタデータフィールドのみが検索されます。それ以外の場合は、いくつかのフィールド(以下に列挙)が検索されます。
例は次のとおりです。
検索文字列 | 返されるもの |
---|---|
bird |
以下のフィールドに "bird "という単語が含まれる動画。 |
name:bird |
name (動画タイトル)に、"bird "という単語が入っている動画が返されます。 |
検索するフィールド名を指定しない場合、リクエストは次のフィールドでその値を検索します。
id
name
description
long_description
text
(実際のメタデータフィールドではなく、検索に使用できるname
、description
、およびlong_description
を検索するのに使える擬似フィールド -例:text:bird
)tags
reference_id
custom_fields
( すべてのカスタムフィールドを検索します)custom_field_name
(特定の名前付きカスタムフィールドを検索します)
検索でサポートされているフィールドは次のとおりです。
フィールド | 法的価値 |
---|---|
name |
文字列または引用符付き文字列 |
テキスト | 文字列または引用符で囲まれた文字列 (name 、description およびlong_description を検索) |
tags |
文字列または引用符で囲まれた文字列 (複数のタグはカンマで区切る必要があります) |
custom_fields |
文字列または引用符で囲まれた文字列(すべてのカスタムフィールドを検索します-特定のカスタムフィールドの内部名を使用することも出来ます) |
reference_id |
文字列または引用文字列 |
state |
ACTIVE 、INACTIVE 、PENDING 、DELETED (過去10日以内に削除された動画のみが返されます) |
updated_at |
日時または範囲(詳細は下記を参照) |
created_at |
日時または範囲(詳細は下記を参照) |
schedule.starts_at |
日時または範囲(詳細は下記を参照) |
schedule.ends_at |
日時または範囲(詳細は下記を参照) |
published_at |
日時または範囲(詳細は下記を参照) |
complete |
true または false |
上記のどちらの例でも、関連するフィールドに「bird
」という単語が含まれていない動画が返される可能性があります。次のセクションでは、検索結果を指定した用語を持つ動画のみに制限する方法について説明します。
無視される単語
特定の単語は非常に一般的であるため、検索文字列では無視され、実際の検索内容とは関係のない多くの結果が返される可能性があります。以下は、検索で無視される単語のリストです。
"a", "an", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"
また、ハイフン、アンダースコア、改行、 "$"、 "&"、 "*" などの英数字以外の文字は、単語の区切り文字として扱われます。例えば、 small-town
のような検索文字列は small town
として扱われます。
ステミングとは?
ステミングをサポートするビデオフィールドは、検索語の語幹を共通に持つ単語を返します。また、ステミングでは、部分的な単語ではなく、単語全体の入力のみがサポートされます
- 例 1:
running
を検索すると、running
,run
,runs
を含む結果が返されます。 - 例 2:
vid
で検索しても、video
を含む結果は返されません。
ステミングを使った検索は、次のフィールドで機能します。
custom_fields
description
name
long_description
tags
labels
高度な検索
検索結果を必要な動画に限定するのに役立つ修飾子がいくつかあります。
修飾子 | 説明 | 例 |
---|---|---|
+ |
検索語の前にプラス(+)記号を付けると、返される動画に指定された用語が含まれていなければならないことを意味します。 |
|
- またはNOT |
検索語の前にマイナス(-)記号またはNOT を付けると、返される動画に指定した用語が含まれないことを意味します。 |
|
(term) AND (term) または (term) OR (term) |
論理AND およびOR 演算子を使用すると、複雑なクエリに対して複数の検索用語を組み合わせることができます。 |
|
フレーズ検索
引用符で囲むことにより、(単一の単語ではなく)フレーズを検索することができます。
"blue heron"
name:"blue heron"
日付/時刻
以下を使用して、日時間隔で検索できます。
[{start} TO {end}]
単一の日時で検索するには、start
(開始)とend
(終了)を同じ値に設定します:
[2019-09-30T00:00:00.000Z TO 2019-09-30T00:00:00.000Z]
日付時刻値は、ISO8601形式を使用して指定されます。
日付/時刻 | 形式 | 例 |
---|---|---|
日付/時刻 | yyyy-MM-ddThh:mm:ss.sssZ |
2019-09-30T14:24:33.512Z |
ワイルドカード(開始または終了の日付/時刻に使用できます) | * |
|
以下は、日付/時刻検索文字列のサンプルです。
検索文字列 | 説明 |
---|---|
+updated_at:[2019-09-30T00:00:00.000Z TO 2019-10-07T00:00:00.000Z] |
2019年9月30日から2019年10月7日の間に更新された動画 |
+created_at:[2019-09-30T00:00:00.000Z TO 2019-09-30T00:00:00.000Z] |
2019年9月30日に追加された動画 |
+created_at:[2019-09-30T14:00:00.000Z TO 2019-09-30T16:30:00.000Z] |
2019年9月30日の午後2時から午後4時30分(UTC)の間に追加された動画 |
+created_at:[* TO 2019-09-30T00:00:00.000Z] |
2019年9月30日より前に追加された動画 |
既知の問題
- 検索結果の重複: 場合によっては、検索結果の一部の項目が複数回表示されることがあります。
回避策: 検索結果の重複を防ぐには、検索リクエストで常に
sort
パラメーターを使用します。