CMS/Wiedergabe-API: Videos suchen v1

In diesem Thema erfahren Sie, wie Sie mithilfe der CMS-API nach Videos in Ihrem Konto suchen können. Das CMS API bietet eine programmgesteuerte Möglichkeit, in Ihrer Video Cloud-Bibliothek nach Videos zu suchen. Dieses Thema enthält Details zur Suchsyntax. Hinweis: Dies ist die ursprüngliche Suchsyntax - wir empfehlen die einfachere Syntax der Videosuche v2 Für die Playback-API müssen Sie diese Version verwenden.

Einleitung

In diesem Thema erfahren Sie, wie Sie Folgendes tun:

  • Erstellen und begrenzen Sie eine einfache Suche mithilfe der q Parameter
  • Suchergebnisse sortieren
  • Suche mit erforderlichen und ausgeschlossenen Begriffen
  • Verwenden Sie eine Suche in Anführungszeichen, um genaue Begriffe und mehrere Wörter zu finden
  • In benutzerdefinierten Feldern suchen
  • Datumsfelder mit einem bestimmten Datum und mit Bereichen suchen
  • Suchkriterien kombinieren

API-Nutzung

Die Suchfunktion kann entweder mit dem verwendet werden CMS API oder die Wiedergabe-API.

CMS-API

Bei Verwendung der Suche mit der CMS-API gilt Folgendes:

  • Alle Anfragen (einschließlich der Suche) erfordern einen Autorisierungs-Header, der Ihre Zugriffstoken enthält. Ausführliche Informationen zum Abrufen von Client-Anmeldeinformationen und deren Verwendung zum Abrufen von Zugriffstoken finden Sie im Übersicht über Brightcove OAuth.
  • Es gibt keine Begrenzung für die maximale Anzahl von Videos, die von einer Suche zurückgegeben werden, aber es gilt eine Ratenbegrenzung.
  • Die Suchergebnisse umfassen alle Videos in Ihrem Konto, unabhängig davon, ob sie abspielbar sind oder nicht und/oder geografisch eingeschränkt sind.

Details zu API-Anfragen/-Antworten finden Sie im Videos abrufen Abschnitt der CMS-API-Referenz.

Wiedergabe-API

Bei Verwendung der Suche mit der Playback-API gilt Folgendes:

  • Suchanfragen mit der Wiedergabe-API erfordern einen Richtlinienschlüssel, der suchaktiviert ist.
  • Da ist ein Grenze auf der maximalen Anzahl von Videos, die von einer Suche zurückgegeben werden.
  • In den Suchergebnissen werden nur abspielbare Videos zurückgegeben (Videos mit state:inactive wird ignoriert).
  • Suchvorgänge erzwingen Beschränkungen der Wiedergaberichtlinien, z. B. das Auslassen von Videos mit geografischen Beschränkungen aus den Ergebnissen.
  • Das Zwischenspeichern von Ergebnissen bietet höhere Anforderungsraten und schnellere Antworten, und es gibt keine Ratenbegrenzung.

Details zu API-Anfragen/-Antworten finden Sie im Videos abrufen Abschnitt der Wiedergabe-API-Referenz.

Um eine Suche nach Begriffen in Ihrer Medienbibliothek durchzuführen, verwenden Sie die q Parameter.

      q={search terms}

Die von Ihnen angegebenen Suchbegriffe sollten eine URL-codierte Liste von Begriffen sein, die durch ein Leerzeichen getrennt sind.

Suchunterstützung Stemming. Stemming ist die Zuordnung eines Wortes zum Wortstamm und anderen Wörtern, die aus demselben Stamm stammen. Beispielsweise sollte eine Suche nach "run" mit Videos übereinstimmen, die in den angegebenen Feldern "running" oder "ran" enthalten. Es würde nicht stimmt mit "rune" überein, da "rune" nicht "run" als Wurzel hat.

Wenn Sie kein Kriterium für einen Suchbegriff angeben, z. B. q=bird, sucht die Anfrage nach diesem Wert in den folgenden Feldern:

  • id [1-1]
  • name
  • description
  • long_description
  • text(kein echtes Metadatenfeld, sondern ein Pseudofeld, mit dem Sie nach name description, und suchen können long_description- z. B. q=text:bird)
  • tags
  • reference_id
  • custom_fields(durchsucht alle benutzerdefinierten Felder)
  • custom_field_name(sucht ein bestimmtes benanntes benutzerdefiniertes Feld)[1-2]

Anmerkungen

[1-1] Hinweis: Die Suche nach ID ist aus Gründen der Konsistenz enthalten, aber eine Suche nach q=id:12345 gibt genau die gleichen Ergebnisse wie die Anfrage zurück https://cms.api.brightcove.com/v1/accounts/{account_id}/videos/12345
[1-2] Wenn Sie ein benutzerdefiniertes Feld vom Listentyp haben und Videos mit einem von mehreren Werten zurückgeben möchten, können Sie dies folgendermaßen tun:

Nehmen wir an, Sie haben ein color aufgerufenes Feld, das die Werte annehmen kann: red green, yellow, oder blue. Sie möchten Videos finden, bei denen dieses Feld auf den Wert gesetzt ist green oder blue:

      q=color:green%20color:blue

Beispiel: Diese Anfrage gibt Videos zurück, die bird in mindestens einem der oben aufgeführten Felder einen Wert von haben.

      https://cms.api.brightcove.com/v1/accounts/921483702001/videos?q=bird 

Suche auf eine bestimmte Immobilie beschränken

Wenn Sie einen Qualifier für einen Suchbegriff angeben, z. B. q=name:bird, durchsucht die Anfrage das name Videofeld nach einem Wert von bird.

Beispiel: Diese Anfrage gibt Videos zurück, die den Wert wildlife im name Feld haben.

      https://cms.api.brightcove.com/v1/accounts/921483702001/videos?q=name:wildlife

Die unterstützten Suchfelder sind:

Unterstützte Suchfelder
Feld Gesetzliche Werte
name Zeichenketten oder Zeichenketten in Anführungszeichen
Text Zeichenketten oder Zeichenketten in Anführungszeichen (sucht nach name description, und long_description)
tags Zeichenketten oder Zeichenketten in Anführungszeichen (mehrere Tags sollten durch Kommas getrennt sein)
custom_fields Zeichenketten oder Zeichenketten in Anführungszeichen (durchsucht alle benutzerdefinierten Felder — Sie können auch einen bestimmten internen Namen für benutzerdefinierte Felder verwenden) [2-1]
reference_id Zeichenfolge oder Zeichenfolge in Anführungszeichen
state ACTIVE, INACTIVE, PENDING, DELETED [2-3]
updated_at Datumsbereich
created_at Datumsbereich
schedule.starts_at Datumsbereich
schedule.ends_at Datumsbereich
published_at Datumsbereich
complete [2-2] true oder false

Hinweise

  • [2-1] Es ist nicht möglich, nach Videos zu suchen, die ein benutzerdefiniertes Feld haben, das keinen Wert oder einen Wert von hat null, denn wenn dem Feld kein Wert zugewiesen wurde, ist es überhaupt nicht in den Video-Metadaten enthalten.
  • [2-2] Wenn Sie ein neues Video erstellen, wird die complete Eigenschaft wird automatisch auf gesetzt false. Sobald eine Wiedergabe für das Video existiert, wird die complete Die Eigenschaft wird automatisch auf gesetzt true.
  • [2-3] Die folgenden Einschränkungen gelten für die Suche nach GELÖSCHTEN Videos:
    • Suche nach gelöschten Videos ist nur verfügbar über die CMS-API; die Wiedergabe-API wird nicht Gelöschte Videos zurückgeben
    • Nur Videos, die in den letzten 10 Tagen (die aktuelle Zeit minus 10 Tage) gelöscht wurden, werden zurückgegeben

Sortierung der Suchergebnisse

Die sort Mit diesem Parameter können Sie die Ergebnisse einer Get-Anfrage für Videos sortieren. Sie können nach folgendem sortieren:

  • reference_id
  • name
  • created_at
  • published_at
  • updated_at
  • schedule.starts_at
  • schedule.ends_at
  • state
  • plays_total
  • plays_trailing_week

Wenn die Ergebnisse nicht explizit mithilfe von sortiert werden sort, werden die Ergebnisse nach einem Algorithmus sortiert, der als Term Frequenz/Inverse Document Frequenz oder bekannt ist TF-IDF. Sehen Hier für mehr Informationen.

Nehmen wir zum Beispiel an, Sie suchen nach den Begriffen coastal,city und es gibt 120 Videos in Ihrem Konto, die diese Begriffe irgendwo in den Video-Metadaten enthalten ( name description tags, , usw.) und die auch den Sortierkriterien für die Ergebnisse (zum Beispiel haben sie alle das gleiche Datum/die gleiche schedule_starts_at Uhrzeit). Wie hoch in den Ergebnissen ein Video erscheint, hängt von der Häufigkeit ab, mit der einer oder beide Begriffe in den Metadaten vorkommen, wobei der Begriff, der in Ihrer gesamten Videobibliothek am häufigsten vorkommt, stärker gewichtet wird.

Erforderliche/ausgeschlossene Bedingungen

Sie können einen Suchbegriff als erforderlich (zurückgegebene Videos MÜSSEN übereinstimmen) oder als ausgeschlossen (zurückgegebene Videos dürfen NICHT übereinstimmen) markieren. Dies wird mit einem URI-codierten gesteuert + (%2B) oder - Zeichen unmittelbar vor dem Begriff.

Sie müssen codieren + wie %2B wenn es verwendet wird, um einen erforderlichen Begriff anzugeben.

Erforderliche/ausgeschlossene Bedingungen
Beispiel URL-kodiert Sinn
+foo %2Bfoo Videos MÜSSEN den Begriff foo im name, , description, long_description tags, enthalten reference_id oder custom_fields
+custom_fields:foo %2Bcustom_fields:foo Das Video MUSS den Wert foo für ein benutzerdefiniertes Feld enthalten
+foo -bar %2Bfoo%20-bar Videos MÜSSEN den Begriff enthalten foo, dürfen den Begriff aber NICHT bar in der name description, long_description, tags, reference_id oder custom_fields
+name:foo -name:bar %2Bname:foo%20-name:bar Videos MÜSSEN den Begriff enthalten foo, dürfen den Begriff aber NICHT bar in der name

Beispiel: Diese Anfrage gibt Videos zurück, die einen Wert von HABEN sea aber NICHT einen Wert von haben lake in dem tags Gebiet.

      https://cms.api.brightcove.com/v1/accounts/921483702001/videos?q=%2Btags:sea%20-tags:lake

Sehen Suchkriterien kombinieren Unten erfahren Sie, wie Sie die erforderliche/ausgeschlossene Syntax verwenden, um die UND-Logik für mehrere Suchbegriffe zu erzwingen.

Kombiniert mit anderen Parametern

Suche (mit der q Parameter) kann mit anderen Parametern wie z sort , limit Und offset. Alle URL-Parameter sind durch getrennt &. Die Reihenfolge der Parameter spielt keine Rolle.

Beispiele

Beispiel: Diese Anfrage gibt Videos zurück, die den Wert bar im tag Feld haben müssen und möglicherweise einen name enthaltenden Wert haben foo

      .../videos?q=name:foo%20%2Btags:bar&sort=updated_at

Beispiel: Diese Anfrage gibt dieselben Videos wie oben zurück, sortiert diese Ergebnisse jedoch zusätzlich nach dem Feld updated_at und begrenzt dann die Ergebnisse auf nur 10 Videos.

      .../videos?sort=updated_at&q=name:foo%20%2Btags:bar&limit=10

Zitierte Suchbegriffe

Standardmäßig entspricht eine Suche ähnlichen Wörtern Ihren Suchbegriffen. Wenn Sie mehrere Wörter zuordnen möchten, schließen Sie den Begriff einfach in Anführungszeichen ein.

Die meisten Browser und andere Agenten behandeln wörtliche Anführungszeichen ("...") korrekt. Wenn Sie jedoch auf einen Fall stoßen, in dem angeführte Suchbegriffe anscheinend keine korrekten Ergebnisse liefern, versuchen Sie, die Anführungszeichen durch %22(%22...%22) zu ersetzen.

            
              q="foo" or q=%22foo%22
              q="foo%20bar" or q=%22foo%20bar%22
            
          

Dies funktioniert auch bei der Suche nach einem bestimmten Feld:

            
              q=name:"home"
              q=name:"home%20run"
            
          

Mehrere Wörter

Beispiel: Beachten Sie, dass diese Anfrage Videos zurückgibt, die entweder den Wert sea oder mammal im tags Feld haben.

      https://cms.api.brightcove.com/v1/accounts/921483702001/videos?q=tags:sea,mammal

Die folgende Anfrage gibt jedoch nur die Videos zurück, die ein Tag haben sea,mammal.

      https://cms.api.brightcove.com/v1/accounts/921483702001/videos?q=tags:"sea,mammal"

Benutzerdefinierte Felder

Sie können in jedem benutzerdefinierten Feld suchen, das Sie für Ihre Videos definiert haben.

      q=my_field:foo
      q=my_field:"foo"

Hinweis: Alle benutzerdefinierten Feldwerte werden als Zeichenfolgen behandelt. Zum Beispiel, wenn Sie ein benutzerdefiniertes Feld vom Typ Liste haben, das die Werte annehmen kann true oder false , sucht die Suche nach diesen Zeichenfolgen, nicht nach booleschen Werten (in vielen Programmiersprachen 1 Und 0 kann austauschbar mit verwendet werden true Und false als boolesche Werte, aber Suche weiter q=my_boolean_field:1 wird keine Videos zurückgeben, die haben my_boolean_field einstellen true).

Beispiel: Diese Anfrage gibt Videos zurück, die einen Wert von haben Tier im subject benutzerdefinierte Feld.

      https://cms.api.brightcove.com/v1/accounts/921483702001/videos?q=subject:animal

Datumsbereiche

Wenn Sie nach einem Datumsfeld suchen, können Sie ein bestimmtes Datum oder einen Datumsbereich angeben, indem Sie zwei Punkte verwenden, um das Start- und Enddatum zu trennen (q=updated_at:2018-01-01..2018-02-01).

Dadurch wird nach allen Videos mit einem updated_at Wert zwischen dem 1. August 2012 und dem 8. Oktober 2012 gesucht. Hier geben wir jedes Datum im UTC-Format an.

      q=updated_at:2012-08-01T00:00:00Z..2012-10-08T23:59:59Z

Sie können diese Suche vereinfachen, indem Sie die Zeitkomponenten weglassen. Das Folgende entspricht der obigen Suche.

      q=updated_at:2012-08-01..2012-10-08

Unterstützte Datumsformate

Zu den unterstützten Datumsformaten gehören UTC und Relativ.

Beispiele für Datumsformate
Format (URI-kodiertes Format) Sinn
2015-08-01T 06:15:00 UHR Dies repräsentiert eine Zeit in UTC.
2012-08-01 Dies entspricht Mitternacht an einem Tag in UTC. Das Beispiel entspricht 2012-08-01T 00:00:00 Z
-1d Die aktuelle Uhrzeit minus 1 Tag. (sehen unter)

Relative Daten

Für relative Daten unterstützen wir eine Richtung ( + oder -) , gefolgt von einer Zahl, gefolgt von einer Dauer. Relative Daten werden immer von der aktuellen Zeit aus gemessen. Gesetzliche Laufzeiten sind: Minuten, Stunden, Tage.

Beispiele:

Relative Datumsproben
q Parameter für Daten Bedeutung
q=updated_at: -1day.. JETZT Videos wurden von vor einem Tag auf den aktuellen Tag aktualisiert
q=created_at:-2days Videos vor 2 Tagen hinzugefügt
q=updated_at:-4hours..NOW Video von vor 4 Stunden auf die aktuelle Uhrzeit aktualisiert
q=created_at:-60minutes.. Videos, die von vor 60 Minuten zur aktuellen Zeit hinzugefügt wurden
q=created_am:01.01.2016.. -1d Videos, die vom 1. Januar 2015 bis vor einem Tag erstellt wurden
q=updated_at:-14d..NOW Videos der letzten zwei Wochen

Offene Bereiche

Wenn Sie alle Daten bis zu einem bestimmten Zeitpunkt oder alle Daten seit einem bestimmten Zeitpunkt abgleichen möchten, lassen Sie ein Ende des Bereichs weg.

Beispiel: Suche nach allen Videos, die in den letzten 2 Tagen geändert wurden

      q=updated_at:-2days..
      
      

Beispiel: Suche nach allen Videos, die am oder nach dem 11. August 2013 geändert wurden:

      q=updated_at:2013-08-11T00:00:00Z..
      
      

NOW Operator für Fahrplantermine

Für schedule.starts_at und schedule.ends_at können Sie NOW als Datumswert verwenden. Dies ist ein praktischer Operator, mit dem Sie eine dynamische Abfrage basierend auf dem aktuellen Datum/Uhrzeit einrichten können. Ein paar Beispiele:

Beispiele für Zeitplandaten
von/bis Parameter URI-codiert Bedeutung
? q=schedule.starts_at:.. JETZT ? q=schedule.starts_at:.. JETZT start_at ist vom Anfang der Zeit bis zu diesem Moment
? q=schedule.starts_AT:now ? q=schedule.starts_AT:now start_at ist ab diesem Moment
? q=schedule.ends_AT:Now.. ? q=schedule.ends_AT:Now.. end_at ist von diesem Moment bis zum Ende der Zeit
? q=+schedule.starts_at:.. JETZT +schedule.ends_AT:JETZT.. ? q=%2bSchedule.starts_at:.. JETZT% 20% 2bSchedule.endet_AT:JETZT.. beginnt_at vor diesem Moment und endet_at nach diesem Moment (Video ist in diesem Moment geplant)

Suchkriterien kombinieren

Sie können Kriterien für komplexe Suchen kombinieren.

Beispiel: Diese Anfrage sucht nach Videos mit einem name gewissen Klatschwert, die zwischen dem 1. August 2010 und dem 8. Oktober 2010 aktualisiert wurden. Es sortiert dann die Antwortdaten nach updated_at Datum in absteigender Reihenfolge.

      q=%2Bname:gossip%20%2Bupdated_at:2010-08-01..2010-10-08&sort=-updated_at

Begriffe kombinieren

Verwenden Sie die erforderliche/ausgeschlossene Syntax um Videos zurückzugeben, die haben alle der angegebenen Begriffe.

Wenn Sie beispielsweise suchen nach:

      q=name:foo +tags:bar (URI-encoded: q=name:foo%20%2Btags:bar)

Die Antwort wird Videos enthalten, die das Schlagwort 'bar' haben und möglicherweise auch foo im Namen enthalten sind. Wenn Sie nur die Videos zurückgeben möchten, die über foo im Namen UND dem Tag 'bar' müssen Sie suchen nach:

      (unencoded) q=+name:foo +tags:bar (URI-encoded) q=%2Bname:foo%20%2Btags:bar

Ebenso, wenn Sie nur Videos zurückgeben möchten, die foo im Namen, aber mach nicht das Tag 'bar' haben, würden Sie suchen nach:

      (unencoded) q=+name:foo -tags:bar (encoded) q=%2Bname:foo%20-tags:bar

Beispiele

Muster: Begriffe kombinieren
Uncodierte Suchzeichenfolge URI-codierter Suchstring Bedeutung
q=foo bar q=foo%20bar zurückgegebene Artikel haben "foo" ODER "bar"
q=foo +bar q=foo%20%2Bbar zurückgegebene Artikel müssen "bar" haben, können "foo" haben
q=+foo bar q =%2Bfoo%20bar zurückgegebene Artikel müssen "foo" haben, können "bar" haben
q=+foo +bar q=%2Bfoo%20%2Bbar zurückgegebener Artikel muss "foo" UND "bar" haben
q=-foo +bar q=-foo%20%2Bbar Der zurückgegebene Artikel muss „bar“ UND nicht „foo“ haben
Mehrere Tag-Suchen
q=tags:bee,bop q=tags:bee,bop gibt Videos mit dem Tag "bee" ODER "bop" zurück
q=tags:bee tags:bop q=tags:bee%20tags:bop gibt Videos mit dem Tag "bee" ODER "bop" zurück
q=+tags:bee tags:bop q=%2Btags:bee%20tags:bop alle zurückgegebenen Videos müssen das Tag "Biene" haben; sie können auch das Tag "bop" haben
q=+tags:bee +tags:bop q=%2Btags:bee%20%2Btags:bop alle zurückgegebenen Videos werden den Tag „bee“ UND den Tag „bop“ haben

Bestimmte Videos suchen

Wenn Sie Ihre Suche auf eine bestimmte Gruppe von Videos beschränken möchten, können Sie dies über die Suche tun id:

Beispiel: Diese Anfrage gibt Videos mit IDs 123456789 zurück 987654321 und 48376387

      q=id:123456789%20id:987654321%20id:48376387

Suche nach Bundesland

Mithilfe des Parameters können Sie Suchen nach dem Status des Videos durchführen oder filtern:

      q=state:ACTIVE( | INACTIVE | PENDING | DELETED)[3]

Hinweise

  • [3] Die Suche nach GELÖSCHTEN Videos ist nur für Videos verfügbar, die in den letzten 10 Tagen (die aktuelle Zeit minus 10 Tage) gelöscht wurden, und nur über die CMS API (nicht die Wiedergabe-API).

Stemming

Stemming wird unterstützt, aber nicht Teilwortsuche. Zum Beispiel, q=name:ban sollten Videos mit den Namen "Parking Ban Announced " oder "Parking to be Banned " oder "City Banning Parking " aber nicht "Bank Holiday " oder "Bandit Captured".

Leerzeichen/Sonderzeichen

Das CMS API Im Allgemeinen werden Sonderzeichen in Suchzeichenfolgen behandelt, mit einigen Ausnahmen:

  • Leerzeichen sind nicht erlaubt und müssen als kodiert werden %20. (Unkodiert + Zeichen können auch Leerzeichen ersetzen, dies kann jedoch zu Verwirrung bei Ihren Abfragen führen, da + kann auch angeben, dass ein Begriff erforderlich ist. Sehen erforderliche/ausgeschlossene Syntax)

    Um beispielsweise nach "mein Lieblingsvideo" im Namen zu suchen:

    q=name:"my%20favorite%20video"

  • Um nach einem Literal zu suchen + unterschreiben oder verwenden + um anzuzeigen, dass die zurückgegebenen Videos muss einen Begriff einfügen, müssen Sie ihn codieren + wie %2B:

    Suche nach Videos, die enthalten müssen "two+two" im Namensfeld

    q=name:two%2Btwo

    Suche nach Videos, die enthalten müssen "heron" im Namensfeld

    q=%2Bname:heron

  • Einige Agenten verarbeiten wörtliche Anführungszeichen möglicherweise nicht richtig, daher ist die Codierung sicherer "foo" wie %22foo%22

Für einmalige Anfragen können Sie Brightcove Learnings String-Encoder um Ihre Suchzeichenfolgen zu verschlüsseln. Für Apps müssen Sie eine URI-Codierungsfunktion in der von Ihnen verwendeten Sprache finden.

Suchbegriffe zu Clips

Clips sind Videos, die aus Abschnitten anderer Videos erstellt wurden. Clips können von Brightcove Social generiert werden, und in Zukunft werden auch andere Methoden verfügbar sein. Es gibt einige spezielle Suchbegriffe, mit denen Sie generierte Clips in einem Konto finden können:

  • q=%2Bis_clip:true- gibt nur Clips zurück
  • q=%2Bis_clip:false- gibt nur Nicht-Clips zurück
  • q=%2Bclip_source_video_id:video_id- gibt Clips zurück, die aus dem angegebenen Video generiert wurden

Ignorierte Wörter

Bestimmte Wörter werden in Suchzeichenfolgen ignoriert, da sie so häufig sind, dass sie wahrscheinlich viele Ergebnisse liefern, die nichts mit dem zu tun haben, wonach Sie tatsächlich suchen. Nachfolgend finden Sie eine Liste von Wörtern, die bei der Suche ignoriert werden:

„a“, „an“, „und“, „sind“, „als“, „bei“, „sein“, „aber“, „von“, „für“, „wenn“, „in“, „in“, „in“, „ist“, „es“, „nein“, „nicht“, „von“, „am“, „oder“, „solche“, „dass“, „der“, „ihr“, „dann“, „dort“, „diese“, „sie“, „dies“, „zu“, „war“, „werden“, „mit“

Bekannte Probleme

  • Doppelte Ergebnisse: In bestimmten Fällen können einige Elemente in den Suchergebnissen mehr als einmal erscheinen.

    Problemumgehung: Um doppelte Suchergebnisse zu vermeiden, verwenden Sie immer a sort Parameter in Ihren Suchanfragen.