Skip to main content
Skip table of contents

Search Facade

Whilst content browsing is still the most common way to discover content, search is a very useful tool when trying to find specific content by one of its features, such as title, actor or description. A benefit of this functionality is that other content can also be discovered. 

OpenTV Video Platform facilitates content search either via the Search Façade (where multiple content sources can be searched simultaneously) or via direct MDS search. It is recommended that Search Façade be used as the default configuration, as this encapsulates the underlying MDS search, and it also ensures that additional search engine use can be catered for should this be required in the future.

The Search Façade has a generic interface, removing the need for knowledge of bespoke search engine query calls. Exposing the search functionality in this way allows for a greater degree of control over the queries that can be performed, which in turn then allows for better performance tuning and more predictable scaling.

Each supported search solution is facilitated by its own Search Façade adapter. The addition of future search solutions will depend on the deployment of similar adapters.

Search Façade API - Request

This API supports the following parameters in the request:

  • Mandatory - Specifying the search term

    • Optional - Specifying a filtered set of fields to match

      • Title

      • Description

      • Synopsis

      • Actor

      • Director

  • Optional- Specifying the desired combination of search scope

    • VOD

    • STCU

    • SEASON

    • SERIES

    • PROGRAMME

  • Optional - Group by season or series

  • Optional - Specifying the locale of interest

  • Optional- Pagination specifying the number of results to be returned

    • limit

    • page

    • offset

  • Optional - Device 

  • Optional - provider specifying provider(s) to include

  • Optional - excludeProvider specifying provider(s) to exclude

  • Optional - engine specifying seach engine(s) to use

  • Optional - Onlyplayable Restricts results to content that is only playable now

  • Optional - Specifying the search results grouping style

    • Concatenated

    • By engine (enabling client applications to show results from selected sources (can be multiple not just singular) in a single strip returned by Search Facade, so that I can show content available on different platforms)

Where there are multiple configured provider data sources, the searches execute concurrently across each provider.

Search Façade API – Response

Where there are multiple configured provider data sources Search Façade ensures that the searches are executed concurrently.

Irrespective of the different underlying search engine data sources, Search Façade ensures the delivery of the response in a uniform generic data structure.

The API supports the following in the response:

  • A combined row of results

    • If search results grouping is "Combined", or overridden in search query

  • A row of results per provider

    • If search results grouping is "Split", or overridden in search query

  • generic data structure that provides the client with enough information to display the results and / or request further information for enrichment

    • Data structure is consistent between the NAGRAVISION internal search facility and any external search provision

Search facade can return many types of results:

  • Generic

  • Channel

  • Programme

  • Series

  • Season

  • STCU

  • LTCU

  • VoD

In the case of BTV (live), content can migrate through a number of phases: Programme → STCU → LTCU

In some cases, these phases may overlap (e.g., LTCU and STCU validity overlap). In cases like this, where both content types are available and valid, and a return type is not specified in the request, Search Façade will only return the LTCU content (instead of returning multiple results for the same content).

Example

Request

http://<hostname>/search/v1/search?q=star&limit=2

Response Status: 200

CODE
{
    "NAGRA": [
        {
            "id": "GLOBAL_ND0000003436_Series",
            "title": "Starman",
            "type": "series",
            "locale": "en_GB",
            "source": "NAGRA",
            "description": "serie"
        },
        {
            "id": "GLOBAL_ND0000003435_Series",
            "title": "Starman",
            "type": "series",
            "locale": "en_GB",
            "source": "NAGRA",
            "description": "serie"
        }
    ]
}

See also

Search Facade API documentation

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.