Skip to Main Content
Cumulocity IoT Feedback Portal
Status Added/Resolved 🎉
Created by Korbinian Butz
Created on Jun 1, 2022

Improve Query for Cumulocity Search

Currently the Cumulocity search is implemented in three steps on UI side:

  • First, do a full-text search against the inventory.

  • Second, filter out certain elements based on a static list of fragmentnames & types.

  • Third, present the rest to the user.


This implementation has some limitations:

  • it will never be able to filter out custom-inventory objects created by customers (really relevant to all customers with customized solutions)

  • The search results of step 1 can get a lot (with the majority of them being filtered in step 2)

  • We received several support tickets regarding these limitations and unexpected sear results


When looking into it, we had the finding, that the BE is already able to combine the full-text search with additional query parameter. E.g. following call with execute a full-text search and only return the objects having the c8y_IsDevice fragment: /inventory/managedObjects?text=helloworld&withTotalPages=true&query=$filter=has('c8y_IsDevice')

Idea is now to:

  • Introduce an option in the Cumulocity search to "find only devices and devicegroups"

  • Replace the existing post-filtering with BE Calls combining full-text search with query-parameters


This way, the filter-part in the search is shifted from UI- to BE-side plus Users won't find their custom MOs not anymore in the search results.


  • Attach files
  • Mohammed Ali Khan
    Reply
    |
    Aug 1, 2022

    This will resolve many customer concerns, thanks.

    Would also recommend to remove the case-sensitiveness during search(clicking on 'Contains') and filtering of assets (or) atleast give user an option to opt in/out of case-sensitiveness.