Configure Intelligent Global Search

Intelligent Global Search uses Hypertext Preprocessor (PHP), a general purpose scripting language, and MySQL Natural Language Understanding (NLU) search facilities. Searching is based on Python, the engine that receives a user request. With the help of Natural Language, the engine combines different forms of words and parts of speech in the search argument to produce an accurate and contextual base word ; i.e., a lemma. The lemma is then used to return the most relevant results to meet the user's request.

Examples of words and their base form (lemma) that typically have a similar contextual meaning:

  • going > go
  • sales > sale
  • is > be  

Intelligent Search works with different types of Search Entities; i.e., objects in Metric Insights.  Search results can be grouped by:

  • Default:  "All", "Tiles", "Datasets", "Bursts", Data Sources, and Datasets tabs
  • Category:  "All", existing Categories, and Datasets are shown as tabs
  • Content Type:  "All", "Metric", "Dataset Report", other existing content types, and Datasets that are displayed as tabs

The search includes metadata about Search Entities; i.e., information that is searched across Names, Descriptions, Categories, Tags, and Custom Fields, but not the data that they contain. The system relies on metadata when locating Objects (except for Datasets) that meet the search criteria.

For Datasets, additional information about columns to be included is defined during the Search Setup process. It is important to remember that only MySQL is supported for searching across Datasets.

To understand Searching, see this article.

In Release 6.2.1, additional functionality was made available:

  • "Recent requests and opened items" are displayed in the Search suggestion form.
  • Users are informed when indexing is in progress.
  • A Voice Search option is supported.
  • Documents are included in the Search and can be located by Document  Name, file name, or URL
  • The Data Source tab contains External References and External Reports only.

In Release 6.4.2, Global Search supports partial search which has been made possible thanks to sublemmas. This means that a search for "sal" will provide results for "sales"; however, to return results, a search term must include at least three letters that appear in the same order as in the desired search result. For example, "sal" will return "sales" while "sla" won't.

Examples of words and their sublemmas:

  • daily > dail, aily, dai, ail ily
  • tableau > tablea, ableau, table, ablea, bleau, tabl, able, blea, leau, tab, abl, ble, lea, eau

Partial search has some limitations:

NOTE: The system updates at 12:30 each day. If you want to see changes to search setup during the same day, you need to update search indexes manually.

Access Admin > System > System Variables

System Variables are list of configuration parameters in the system that allow a particular value; e.g., Y or N, to be assigned in order to enable or disable a selected feature of the system.

  1. Set the GLOBAL_SEARCH_USE_DATA_ANALYZER Variable to "Y"
  2. Voice Search is not enabled by default. Set the ENABLE_VOICE_SEARCH Variable to "Y" to enable it
  3. [Commit Changes]

2. Basic Search Setup 

Access Admin > System > Search Setup > Setup

2.1. Define Objects

  1. Select one or all types of entities to be included in the search
  2. Choose the manner by which Search Results are to be grouped on the page:
    1. Default:  "All", "Tiles", "Datasets", "Bursts", Data Sources, and included Datasets tabs
    2. Category: "All" and existing Categories
    3. Content Type:  "All", other existing content types, and included Datasets

2.2. Add Data Sources and Datasets

  1. Include all Data Sources to be searched across External Reports
  2. Specify Datasets to be searched across metadata

Once you select a Dataset and [Save], the Dataset Search Setup page opens.

2.2.1. Define Search of a Specific Dataset

The system looks for lemmas in Objects; i.e., Search Entities themselves and Objects associated with them, such as Tags, Categories, Data Sources, Dimension Values, Dataset columns, and Custom Fields.

Search Entities group results and order the Entities by determining relevance (rating) of each item. This rating depends on a number of "hits" and a weight of a field where they are detected; e.g., the Name field weighs more than the Description field.

  1. Define the Dataset details:
    • Title Column: specifies the field where the search is performed
    • Description: description of the searched object; will be displayed under the Title
    • Link Column: attaches an URL links to Titles; an external URL will be opened in a separate tab, while a URL from the same instance will be opened in the current window
    • Thumbnail Link Column: identifies the preview to be displayed in the search results
    • Content Type Column: includes names of content types based on which specific icons will be shown in search results
    • Category ID Column: includes IDs of actual Categories to be shown under the Description; Category IDs can be used for filtering from the left-hand panel
  2. "Apply Access Restrictions" can be set to "Yes" in case you want to proceed with search restrictions for content that resides outside of Metric Insights. Otherwise, it should be set to "No". See more details in the following section.
    • NOTE: With this configuration set to "No", Power and Regular Users will be able to see a Report list Dataset in search tabs only if they have at least View Access to this Dataset.
  3. Add Dataset columns across which the system can conduct search and then click [Save]
  4. [Save]
  5. [Back to Search Setup]

2.2.2. [6.4.0] Manage Access to Third-Party External Content in MI

By configuring special types of Datasets in Search Setup and applying security settings, we have extended the capabilities of Global Search and security model.

Content does not have to be physically located in Metric Insights in order to be searchable in the system. Users can create a Report list Dataset to be able to find Reports from this Dataset in search; however, Tiles won't be created for them. Optionally, searchability of the Reports can be restricted to particular Users/Groups based on Security Access Datasets.

To make this configuration work, you will need:

  • Required: A list of Reports' links loaded into Metric Insights in the form of a Dataset. This Dataset must include the Title and Link columns. See the example Dataset below. This Dataset must be added to the list of searchable Datasets as shown above.
  • Optional: In case you want to restrict searchability of the Reports to particular Users/Groups (Apply Access Restrictions = Yes), you will need the following to be loaded into MI in the form of Datasets:
    • A List of Groups that grants access to its members
    • A List of Individual Users to whom access is provided

Depending on your needs, either one or both must be added under the Access Management section. In this article, we are configuring User access, but the instructions are essentially the same.

IMPORTANT: Access Control Datasets need to include pairs of actual MI Group Names/Usernames and Report URL to which these Groups/Users will have access from search:

Example: user X in "User" column = https://externalresource/reportX in "Link" column

NOTE:

With the "Apply Access Restrictions" setting enabled, it is no longer required for a User to have access to a Category in which the link is placed in order to find the associated object in search. Starting in 6.4.0, the User will be able to find the object in search and filter by Category (if one is included in a Report list Dataset).

  1. Set "Apply Access Restrictions" to "Yes"
  2. Choose the pre-loaded Group Access Control Dataset to restrict access for Groups
  3. Choose the pre-loaded User Access Control Dataset to restrict access for Users
  4. Map columns

NOTE: Do not forget to save and update search indexes to make changes effective.

3. Advanced Search Setup

Access Admin > System > Search Setup > Info > Advanced Search Tuning

Here, you can customize scoring of Search Entities and their Objects. Score(1) is a number that defines the search relevance of a search result. The higher the score, the higher the ranking. For more information on search rate calculation, see this article.

Each Search Entity or Object available from the drop-down(2) goes with its own set of parameters(3), and by adjusting the default score(4) of parameters, you can adjust the total score(1) of a given Search Entity or Object.

Using Testbench(5), you can see how ranking of a given search query changes based on adjustments applied to the score of individual parameters.

NOTE: Once you finish adjusting, you need to [Update All Search Indexes](6) to apply changes.
Go back to the Search Setup screen to view the indexing progress as shown on the screen below.

Metric Insights supports searching data across external tools that are set up for search under Search Setup > External Tools.

  1. [+New Tool]
  2. Enter a display Name for the tool
  3. Specify the External Tool URL
    • Note that the URL must be configured to send search request via a parameter
  4. Specify Behavior for External Tool:
    • Open the tool in a separate tab
    • Embed the tool in Metric Insights
  5. [Save]

Users can now conduct search via external tools by clicking the respective tool label.