Search Experience and Query Pipelines

Getting Started

In order to configure the search experience technically, you need to configure the following in the given order

  1. Search engine

  2. Query pipelines

  3. Search center

We recommend using the search interface configuration template wizard to build the framework configuration. You can access the wizard at /admin/interface/interface by clicking and expanding Configuration Template Wizard:

Background

Every search interface, be it based on our search interface framework, your custom interface or a bot, comes with the following core concepts.

Search Application

Each search application can host different search verticals. A classical enterprise search usually has an Everything Vertical and one with people results. So the application itself hosts multiple search verticals or search pages.

Search Vertical

Each search vertical can be considered as a tailored search application for a specific search use case. Common use cases are for instance:

  1. Everything vertical: shows all relevant search results from all indexed repositories.

  2. People search vertical: shows all relevant matching persons and experts

  3. IT Knowledge vertical: shows all relevant knowledge articles from all IT documentation sources, e.g. ServiceNow, Confluence, SharePoint pages and web pages.

  4. Code search vertical: shows all relevant lines of codes from Git, subversion or Github

Search Result Lists

Each search vertical can host multiple search result lists. The RheinInsights Retrieval Suite allows for adding as many result lists to a search vertical as wanted. The only requirement is that there is at most one non-result block configured.

Examples for result lists are for instance

  • an everything result list, which contains all relevant documents except people results

  • a people search result list

  • Q&As

  • Recommended links and bookmarks

Main Result List

The main result list comes with paging and filters. It offers - depending on the chosen result layout - teasers and result previews.

Result Blocks

Are a reduced result list which comes with a more compressed look & feel. These are normally shown above the main result list and should serve as an educated guess to show promoted or more prominent results. Normally these are used to catch search use cases, such as showing recommended links, bookmarks or people results as teasers.

Query and Result Pipelines

At search time, the search interface issues search requests against the backend and thus the search engine(s). In particular, for each result list, one request is sent against the backend.

Within the RheinInsights Retrieval Suite each request is processed through a query pipeline and result processing pipeline, before and after querying against the search engine.

The processing therefore works as follows

  1. Access to search application and a vertical

  2. Issue a query

  3. For each result list on the vertical, the configured query pipeline is called in the backend

    1. It is being checked if the user is allowed to search (e.g. through Entra Id)

    2. Query Transformation

      1. The respective query transformers are applied

      2. Early binding security trimming is being applied based on the user id

    3. A search is issued against the configured search index(es)

    4. Result Transformation

      1. The returned results and filters are post processed through the configured result transformation pipeline

    5. Rendering within the search interface

    6. Depending on the search results, backend calls to fetch document previews

      1. Here a security trimming is applied again.