Home
Home
German Version
Support
Impressum
26.4 Release ►

Start Chat with Collection

    Main Navigation

    • Preparation
      • Connectors
      • Create an InSpire VM on Hyper-V
      • Initial Startup for G7 appliances
      • Setup InSpire G7 primary and Standby Appliances
    • Datasources
      • Configuration - Atlassian Confluence Connector
      • Configuration - Atlassian Confluence REST Connector
      • Configuration - Best Bets Connector
      • Configuration - Box Connector
      • Configuration - COYO Connector
      • Configuration - Data Integration Connector
      • Configuration - Database Connector
      • Configuration - Documentum Connector
      • Configuration - Dropbox Connector
      • Configuration - Egnyte Connector
      • Configuration - GitHub Connector
      • Configuration - Google Drive Connector
      • Configuration - GSA Adapter Service
      • Configuration - HL7 Connector
      • Configuration - IBM Lotus Connector
      • Configuration - Jira Connector
      • Configuration - JVM Launcher Service
      • Configuration - LDAP Connector
      • Configuration - Microsoft Azure Principal Resolution Service
      • Configuration - Microsoft Dynamics CRM Connector
      • Configuration - Microsoft Exchange Connector
      • Configuration - Microsoft File Connector (Legacy)
      • Configuration - Microsoft File Connector
      • Configuration - Microsoft Graph Connector
      • Configuration - Microsoft Loop Connector
      • Configuration - Microsoft Project Connector
      • Configuration - Microsoft SharePoint Connector
      • Configuration - Microsoft SharePoint Online Connector
      • Configuration - Microsoft Stream Connector
      • Configuration - Microsoft Teams Connector
      • Configuration - Salesforce Connector
      • Configuration - SCIM Principal Resolution Service
      • Configuration - SemanticWeb Connector
      • Configuration - ServiceNow Connector
      • Configuration - Web Connector
      • Configuration - Yammer Connector
      • Data Integration Guide with SQL Database by Example
      • Indexing user-specific properties (Documentum)
      • Installation & Configuration - Atlassian Confluence Sitemap Generator Add-On
      • Installation & Configuration - Caching Principal Resolution Service
      • Installation & Configuration - Mindbreeze InSpire Insight Apps in Microsoft SharePoint On-Prem
      • Mindbreeze InSpire Insight Apps in Microsoft SharePoint Online
      • Mindbreeze Web Parts for Microsoft SharePoint
      • User Defined Properties (SharePoint 2013 Connector)
      • Whitepaper - Migration of Sites Selected Permissions for the MS SharePoint Online Connector
      • Whitepaper - Migration of Tenant-Wide Permissions for the MS SharePoint Online Connector
      • Whitepaper - Mindbreeze InSpire Insight Apps in Salesforce
      • Whitepaper - Overview of Connectors
      • Whitepaper - Web Connector - Setting Up Advanced Javascript Usecases
    • Configuration
      • CAS_Authentication
      • Configuration - Advanced Configuration for Mail Delivery
      • Configuration - Alerts
      • Configuration - Alternative Search Suggestions and Automatic Search Expansion
      • Configuration - Back-End Credentials
      • Configuration - Chinese Tokenization Plugin (Jieba)
      • Configuration - CJK Tokenizer Plugin
      • Configuration - Collected Results
      • Configuration - CSV Metadata Mapping Item Transformation Service
      • Configuration - Entity Recognition
      • Configuration - Exporting Results
      • Configuration - Filter Plugins
      • Configuration - GSA Late Binding Authentication
      • Configuration - Identity Conversion Service - Replacement Conversion
      • Configuration - InceptionImageFilter
      • Configuration - Index-Servlets
      • Configuration - InSpire AI Chat and Insight Services for Retrieval Augmented Generation
      • Configuration - Item Property Generator
      • Configuration - Japanese Language Tokenizer
      • Configuration - JavaScript Transformer Plugins
      • Configuration - Kerberos Authentication
      • Configuration - Management Center Menu
      • Configuration - Metadata Enrichment
      • Configuration - Metadata Reference Builder Plugin
      • Configuration - Mindbreeze Proxy Environment (Remote Connector)
      • Configuration - Personalized Relevance
      • Configuration - Plugin Installation
      • Configuration - Principal Validation Plugin
      • Configuration - Profile
      • Configuration - Reporting Query Logs
      • Configuration - Reporting Query Performance Tests
      • Configuration - Request Header Session Authentication
      • Configuration - Shared Configuration (Windows)
      • Configuration - Vocabularies for Synonyms and Suggest
      • Configuration of Thumbnail Images
      • Cookie-Authentication
      • Documentation - Mindbreeze InSpire
      • I18n Item Transformation
      • Installation & Configuration - Outlook Add-In
      • Installation - GSA Base Configuration Package
      • JWT Authentication
      • Language detection - LanguageDetector Plugin
      • Mindbreeze Personalization
      • Mindbreeze Property Expression Language
      • Mindbreeze Query Expression Transformation
      • SAML-based Authentication
      • Trusted Peer Authentication for Mindbreeze InSpire
      • Using the InSpire Snapshot for Development in a CI_CD Scenario
      • Whitepaper - AI Chat
      • Whitepaper - Create a Google Compute Cloud Virtual Machine InSpire Appliance
      • Whitepaper - Create a Microsoft Azure Virtual Machine InSpire Appliance
      • Whitepaper - Create AWS 10M InSpire Appliance
      • Whitepaper - Create AWS 1M InSpire Appliance
      • Whitepaper - Create AWS 2M InSpire Appliance
      • Whitepaper - Create Oracle Cloud 10M InSpire Application
      • Whitepaper - Create Oracle Cloud 1M InSpire Application
      • Whitepaper - MMC_ Services
      • Whitepaper - Single Sign-On with Microsoft Entra ID or Active Directory Federation Services
      • Whitepaper - Text Classification Insight Services
    • Operations
      • Adjusting the InSpire Host OpenSSH Settings - Set LoginGraceTime to 0 (Mitigation for CVE-2024-6387)
      • app.telemetry Statistics Regarding Search Queries
      • Blacklisting vulnerable kernel modules esp4, esp6, rxrpc - (Mitigation for CVE-2026-43284 _ DirtyFrag)
      • CIS Level 2 Hardening - Setting SELinux to Enforcing mode
      • Configuration - app.telemetry dashboards for usage analysis
      • Configuration - Usage Analysis
      • Disabling algif_aead_init - (Mitigation for CVE-2026-31431)
      • FAQ - Creating Mindbreeze InSpire Appliances on Hyper Scalers
      • Handbook - Backup & Restore
      • Handbook - Command Line Tools
      • Handbook - Distributed Operation (G7)
      • Handbook - Filemanager
      • Handbook - Indexing and Search Logs
      • Handbook - Updates and Downgrades
      • Index Operating Concepts
      • Inspire Diagnostics and Resource Monitoring
      • Provision of app.telemetry Information on G7 Appliances via SNMPv3
      • Restoring to As-Delivered Condition
      • Whitepaper - Administration of Insight Services for Retrieval Augmented Generation
      • Whitepaper - Insight Workplace
      • Whitepaper - Mindbreeze in Microsoft Teams
      • Whitepaper - Mindbreeze in OpenAI ChatGPT
      • Whitepaper - Mindbreeze InSpire LLM_ A Kubernetes Integration Guide
      • Whitepaper - Mindbreeze InSpire LLM_ On-Premise Deployment Guide
      • Whitepaper - Natural Language Question Answering (NLQA)
      • Whitepaper - Overview AI based Document Parsing, Transcriptions, and Semantic Index Pipeline
      • Whitepaper - Overview of Agentic AI and the Insight Workplace
      • Whitepaper - Using the Mindbreeze InSpire MCP Server
    • User Manual
      • Browser Extension
      • Cheat Sheet
      • iOS App
      • Keyboard Operation
    • SDK
      • api.chat.v1beta.generate Interface Description
      • api.v2.alertstrigger Interface Description
      • api.v2.export Interface Description
      • api.v2.personalization Interface Description
      • api.v2.search Interface Description
      • api.v2.suggest Interface Description
      • api.v3.admin.SnapshotService Interface Description
      • Debugging (Eclipse)
      • Developing an API V2 search request response transformer
      • Developing Item Transformation and Post Filter Plugins with the Mindbreeze SDK
      • Developing Item Transformation Launched Service with Mindbreeze SDK
      • Development of a Query Expression Transformer
      • Development of Insight Apps
      • Embedding the Insight App Designer
      • Export and Integration of Personalization and Analytics Data with External Platforms
      • Java API Interface Description
      • OpenAPI Interface Description
      • SDK Overview
    • Release Notes
      • Release Notes 20.1 Release - Mindbreeze InSpire
      • Release Notes 20.2 Release - Mindbreeze InSpire
      • Release Notes 20.3 Release - Mindbreeze InSpire
      • Release Notes 20.4 Release - Mindbreeze InSpire
      • Release Notes 20.5 Release - Mindbreeze InSpire
      • Release Notes 21.1 Release - Mindbreeze InSpire
      • Release Notes 21.2 Release - Mindbreeze InSpire
      • Release Notes 21.3 Release - Mindbreeze InSpire
      • Release Notes 22.1 Release - Mindbreeze InSpire
      • Release Notes 22.2 Release - Mindbreeze InSpire
      • Release Notes 22.3 Release - Mindbreeze InSpire
      • Release Notes 23.1 Release - Mindbreeze InSpire
      • Release Notes 23.2 Release - Mindbreeze InSpire
      • Release Notes 23.3 Release - Mindbreeze InSpire
      • Release Notes 23.4 Release - Mindbreeze InSpire
      • Release Notes 23.5 Release - Mindbreeze InSpire
      • Release Notes 23.6 Release - Mindbreeze InSpire
      • Release Notes 23.7 Release - Mindbreeze InSpire
      • Release Notes 24.1 Release - Mindbreeze InSpire
      • Release Notes 24.2 Release - Mindbreeze InSpire
      • Release Notes 24.3 Release - Mindbreeze InSpire
      • Release Notes 24.4 Release - Mindbreeze InSpire
      • Release Notes 24.5 Release - Mindbreeze InSpire
      • Release Notes 24.6 Release - Mindbreeze InSpire
      • Release Notes 24.7 Release - Mindbreeze InSpire
      • Release Notes 24.8 Release - Mindbreeze InSpire
      • Release Notes 25.1 Release - Mindbreeze InSpire
      • Release Notes 25.2 Release - Mindbreeze InSpire
      • Release Notes 25.3 Release - Mindbreeze InSpire
      • Release Notes 25.4 Release - Mindbreeze InSpire
      • Release Notes 25.5 Release - Mindbreeze InSpire
      • Release Notes 25.6 Release - Mindbreeze InSpire
      • Release Notes 25.7 Release - Mindbreeze InSpire
      • Release Notes 25.8 Release - Mindbreeze InSpire
      • Release Notes 26.1 Release - Mindbreeze InSpire
      • Release Notes 26.2 Release - Mindbreeze InSpire
      • Release Notes 26.3 Release - Mindbreeze InSpire
      • Release Notes 26.4 Release - Mindbreeze InSpire
    • Security
      • Known Vulnerablities
    • Product Information
      • Product Information - Mindbreeze InSpire - Standby
      • Product Information - Mindbreeze InSpire
    Home

    Path

    Sure, you can handle it. But should you?
    Let our experts manage the tech maintenance while you focus on your business.
    See Consulting Packages

    Documentation
    Export and Integration of Personalization and Analytics Data with External Platforms

    IntroductionPermanent link for this heading

    Mindbreeze InSpire tracks search events and user interactions, storing this data within app.telemetry. This information is accessible via the Management Center under Reporting Telemetry Details Client Service Query Log.

    To facilitate integration with external business intelligence (BI) platforms and analysis tools, Mindbreeze InSpire provides a dedicated Query Log API. This API offers a uniform view of telemetry data, providing detailed insights into the following user-triggered events:

    • Search queries: The terms and filters used by users.
    • Pagination: Navigation through result sets.
    • Search results: Data regarding the results returned.
    • Search answers: Data regarding the answers (semantic search) returned.
    • Result actions: Interactions with specific search results.
    • Application events: Other general interactions within the application.
    • AI conversations and answers: User feedback for generated answers

    In addition to its built-in app.telemetry capabilities, the Insight Application supports integration with third-party web analytics platforms, including Google Analytics, through the QueryProfiler implementation. This enables organizations to export search event data for advanced analysis, custom reporting, and integration with existing analytics and BI solutions.

    ConfigurationPermanent link for this heading

    For the Query Log API to be available, the Personalized Relevance Transformer needs to be configured. The following minimal configuration needs to be done:

    1. Open the tab "Indices" in the menu "Configuration" of the Mindbreeze Management Center. Add a new service in the "Services" section by clicking on the "+ Add Service" button. Select the plugin "PersonalizedRelevanceTransformer" from the list "Service".
    2. For the analytics data to be recorded, personalization must be activated in the Client Service. This logs all user searches and actions in the app.telemetry. This option is active by default. Check this by opening the tab "Client Services" in the menu "Configuration" in the Mindbreeze Management Center, activate the "Advanced Settings" and see under "Personalization Settings" that the option "Enable Personalization" is active.

    API Access from localhostPermanent link for this heading

    With the configuration above, the API can be reached from localhost without any authentication (inside the inspire Docker container):

    http://localhost:23916/api/mindbreeze.plugins.querylog.v1.QueryLogService/ListEvents

    API Access from RemotePermanent link for this heading

    The API can be accessed from remote via
    https://<appliance-hostname>:8443/realm/master/api/service/<service-id>/api/ mindbreeze.plugins.querylog.v1.QueryLogService/ListEvents.

    To access the API, you need a valid OAuth 2.0 token. You can fetch it by performing a HTTP POST request to with a body of type “x-www-form-urlencoded”:

    • grant_type: password
    • client_id: mindbreeze-inspire-public
    • username: <username>
    • password: <password>

    The user must have the role “InSpire Administrator”. If you want to use a different role, you need to configure this in the reverse proxy (see chapter “Reverse Proxy Configuration”, Require claim "roles:<my-role>"). More information generally about users and roles can be found in the documentation Configuration of Back-End Credentials.

    Copy the “access_token” from the response JSON. Now you can access the API by sending the “access_token” in the HTTP header “Authorization”: “Bearer <access_token>”, e.g. when requesting  https://inspire.mycompany.com:8443/realm/master/api/service/bcaba17d-6873-44ee-a130-cab4417c2be3/api/mindbreeze.plugins.querylog.v1.QueryLogService/ListEvents

    QueryLogService API ListEventsPermanent link for this heading

    The Query Log events are available at:

    GET /api/mindbreeze.plugins.querylog.v1.QueryLogService/ListEvents

    This returns multiple events (queries, paging, result actions), ordered by startTime ascending.

    Request HeadersPermanent link for this heading

    Please always set the header X-Requested-With with value XMLHttpRequest in the request in order to get the correct HTTP status codes. Otherwise you will always get the generic error “An unknown error occured. Go back to the Management Center.”

    URL ParametersPermanent link for this heading

    Parameter

    Description

    application

    Filters events by application. If defined, only matching applications are returned. The application is the Name of the Application configured in “Application Definitions” in the PersonalizedRelevanceTransformer

    pageSize

    Limits the number of events in the response (default: 1000)

    lastEventId

    Filters events newer that lastEventId. This should be used to fetch the next page(s). Use the "id" of the last retrieved event as value to fetch the next page

    startTime

    Filters events newer than the provided RFC 3339 timestamp

    endTime

    Filters events older than the provided RFC 3339 timestamp

    includeSearchResults

    Also search result events of type "QUERY_RESULT" and "PAGING_RESULT" are included in the response

    includeSessions

    Also session events of type "SESSION_CREATE" and "SESSION_DESTROY" are included in the response

    includeDebugDetails

    Additional debug information is included in the response

    dumpAfterMsIfNotFinished

    • With the URL parameter dumpAfterMsIfNotFinished, a thread dump is printed in the logs in case the execution time of the request exceeds the provided time in ms. The response will still not be canceled in this case and will return the result after the execution is finished. Please only use this parameter for debugging purposes.

    ResponsePermanent link for this heading

    {
      "events": array (Event[])
    }

    (Response) Data ModelsPermanent link for this heading

    EventPermanent link for this heading

    Property

    Description

    id: string

    unique identifier for an event

    type: string (Type)

    type of the event (see Type section)

    sessionId: string

    identifier for the user session, which expires by default after 30 minutes when the user is inactive

    queryEventId: string

    unique identifier which references the query (only for events of type "PAGING" and "RESULT_ACTION")

    application: string

    the application to which the event belongs (configured via Application Definitions)

    searchUser: string

    the user who has searched

    referer: string

    URL from which the search was done

    clientServiceId: string

    the service ID of the used client service

    startTime: string

    the time at which the event occurred (as RFC 3339 timestamp with UTC time zone)

    duration: string

    the duration of the event, in seconds (e.g. "1.021340s")

    applicationId: string

    the application’s ID

    queryContextOptions: object

    JSON object containing all properties sent in the api.v2 requests via query_context.properties

    queryDetails: object (QueryEventDetails)

    details of the query (see QueryEventDetails section); only for events of "type": "QUERY" and "PAGING"

    resultActionDetails: object (ResultActionEventDetails)

    Details of the result action (see ResultActionEventDetails section); only for events of "type": "RESULT_ACTION"

    globalActionDetails: object (GlobalActionEventDetails)

    Details of the global action (see GlobalActionEventDetails section); only for events of "type": "GLOBAL_ACTION"

    resultDetails: object
    (ResultEventDetails)

    Details of the search result (see ResultEventDetails section); only for events of "type": "QUERY_RESULT" or "PAGING_RESULT"

    Type (enum)Permanent link for this heading

    "QUERY", "PAGING", "RESULT_ACTION", "GLOBAL_ACTION", "QUERY_RESULT", "PAGING_RESULT"

    QueryEventDetailsPermanent link for this heading

    Property

    Description

    previousQueryEventId: string

    unique identifier which references the previous query, if there was any (only for events of type "QUERY")

    results: string

    number of actual results returned by this query (only for events of type "QUERY")

    totalCount: string

    number of total results for this query (only for events of type "QUERY")

    noResults: boolean

    "true" if no results have been returned (only for events of type "QUERY")

    terminationCause: string

    meta information for "results", e.g. "COUNT_LIMIT" or "NO_MORE_RESULTS" (only for events of type "QUERY")

    query: string

    the query string

    isConstrained: boolean

    "true" if the query contains constraints

    orderBy: string

    the order criteria

    orderDirection: string

    the order direction, "ASCENDING" or "DESCENDING"

    requestName: string

    the request name; usually "default" when using the default search client (only for events of type "QUERY")

    isPaging: boolean

    true for events of type "PAGING"

    tabId: string

    the id of the search tab

    usedFilters: object[] (Filter)

    the selected filters during search

    availableFilters: object[] (Filter)

    the available filters during search

    queryTriggerType: string

    the action type which triggered the query (available values: "USER_QUERY", "REFINEMENT", "AUTOMATIC"

    queryTriggerAction: string

    the concrete action which triggered the query

    FilterPermanent link for this heading

    id: string

    the filter id

    name: string

    the translated name of the filter

    filteredValues: string[]

    the filtered values

    ResultActionEventDetailsPermanent link for this heading

    Property

    Description

    resultId: string

    unique identifier which references the result on which the action was applied

    resultPosition: string

    position of the result on which the action was applied (0 is the first result)

    previewDuration: string

    how long the preview was opened in seconds, e.g. "7.907s" (only for events with action "PREVIEWCLOSED")

    previewScrollPositionPercentage: number

    if not scrolled, this property is not provided, otherwise the value is between 1 and 100 (only for events with action "PREVIEWCLOSED")

    fqCategory: string

    "<category>:<categoryInstance>" of the result on which the action was applied

    key: string

    mes:key of the result on which the action was applied

    page: number

    page of the result on which the action was applied (0 is the first page)

    action: string

    the action (usually "PREVIEW", "PREVIEWCLOSED", "OPENHREF" or "VOTE")

    votingWeight: number

    -100 or 100 for down- or upvoating (only for events with action "VOTE")

    votingComment: string

    comment of a vote (only for events with action "VOTE")

    url: string

    URL of the action. Only available for OPENHREF actions

    customProperty1: string
    (customProperty1 – 10)

    configured custom personalization properties from the Client Service configuration

    options: object

    JSON object containing all properties sent in the api.v2.personalization requests via options_json

    ResultEventDetailsPermanent link for this heading

    page: number

    page of the result (0 is the first page)

    resultPosition: string

    position of the result (0 is the first result)

    fqCategory: string

    "<category>:<categoryInstance>" of the result

    key: string

    mes:key of the result

    url: string

    url metadatum of the result

    customProperty1: string
    (customProperty1 – 10)

    configured custom personalization properties from the Client Service configuration

    GlobalActionEventDetailsPermanent link for this heading

    Property

    Description

    action: string

    the action (currently always "OPENHREF")

    url: string

    URL of the action. Only available for OPENHREF actions

    ExamplesPermanent link for this heading

    Request first pagePermanent link for this heading

    Request:

    /api/mindbreeze.plugins.querylog.v1.QueryLogService/ListEvents

    Response:

    "events": [{

        "id": "CgwI5uHn9gUQ+KPPhAEQtavSmqgu",

        "type": "QUERY",

        "application": "search.mindbreeze.com",

        "referer": "https://search.mindbreeze.com/apps/support/",

        "startTime": "2020-06-05T07:14:46.278123Z",

        "duration": "0.101114s",

        "queryDetails": {

          "previousQueryEventId": "CgwI4eHn9gUQwLTd6gEQtavSmqgu",

          "results": "5",

          "totalCount": "1380",

          "terminationCause": "COUNT_LIMIT",

          "query": "mindbreeze",

          "orderBy": "mes:relevance",

          "requestName": "default",

          "tabId": "Everything"

        }

      }, {

        "id": "CgwI9uHn9gUQyIOamwEQtavSmqgu",

        "type": "RESULT_ACTION",

        "queryEventId": "CgwI5uHn9gUQ+KPPhAEQtavSmqgu",

        "application": "search.mindbreeze.com",

        "referer": "https://search.mindbreeze.com/apps/support/",

        "startTime": "2020-06-05T07:15:02.325485Z",

        "duration": "0.000484s",

        "resultActionDetails": {

          "previewDuration": "12.269s",

          "previewScrollPositionPercentage": 100,

          "fqCategory": "Web:trainingvideos",

          "key": "https://www.youtube.com/watch?v=yzTyTz1SpXo",

          "action": "PREVIEWCLOSED"

        }

      }
    }

    Depending on the type of the event, either “queryDetails” or “resultActionDetails” field is available.

    Request Next PagePermanent link for this heading

    To request the next page, use the last ID from the previous response for the next request’s “lastEventId” URL parameter:

    GET /api/mindbreeze.plugins.querylog.v1.QueryLogService/ListEvents?lastEventId= CgwI9uHn9gUQyIOamwEQtavSmqgu

    Hint: Don’t forget to decode UTF characters from the JSON response (see RFC 4627, section “2.5 Strings”) and URL encode your parameters.

    Download PDF

    • Export and Integration of Personalization and Analytics Data with External Platforms

    Content

    • Introduction
    • Configuration
    • QueryLogService API ListEvents

    Download PDF

    • Export and Integration of Personalization and Analytics Data with External Platforms