OMN-Search

OMN Search is a generic term for various supported ways of searching for objects in OMN. These ways are covered by different plug-ins.

This guide describes how to configure these plug-ins.

Background

Previously OMN-Search was based on an optional JAR file from OMN product and was only available if it is installed (global search parameters were also only available in the configuration if this optional JAR was installed). It allowed a fuzzy search over the supported object types (Projects, PIM2-Objects, and Objects/Asset) and displayed the found objects together in the global search results page.

Also OMN-Search used configurations from a JSON configuration file to provide the search via a sidebar element. This configuration was stored in a separate file app-config.json independent from the backend. The config file also defined the global search results page and its available functions. In this implementation of Elastic search, it used a once-per-frontend configuration of the functions and FSDetails that should be used in the frontend.

To conform the general OMN concepts OMN-Search Backend configuration was introduced. It enables making configuration settings for the new OMN-Search in the OMN backend instead of a local file so that this can also be done by a non-developer and no additional configuration at other places is needed.

Current OMN-Search can be tailored to the needs of a specific customer and provides various possibilities to search for a specific type of object using Advanced Search/Form-based Search/PEO Search/ Duplicate Search/Simple Searches configured in the backend and combined as needed in OMN-Search page plugin configuration.

Glossary

Term

Explanation

Advanced Search

backend page plugin that

  • in the old client represents an attribute-based search for a specific object type and defines the view of the search results page

  • in HTML5 in combination with Elastic Search, specify the definition of attributes and facets to be indexed and the search results pages to be displayed

Case-sensitive Search

the search that consider the case of a specified query and treats uppercase and lowercase letters as distinct; the type of search (case-sensitive/case-insensitive) is configurable in the OMN backend

Custom attributes

the additional attributes configured in FormBasedSearch page plugin directly and used to search in only in case of database search (not Elastic)

Duplicate Search

backend page plugin that allows search for duplicates (assets only) in OMN and is performed via database (not via ElasticSearch)

Elastic Search

the search that uses Elastic Search engine

Expert Search

the attribute-based search

  • In the old client the filtering in the left view of the search results page by expressions from Advanced Search configuration only was called "Expert Search"

  • in HTML5 it is performed on the basis of AdvancedSearch and FormBasedSearch configurations; means both filtering by facets on the search results page and Extended Search

Extended Search

is the attribute-based Search over Elastic Search engine and not database; means the possibility to perform a sharp search for definable attributes and their combinations and uses configuration of AdvancedSearch/FormBasedSearch page plugins

Facets

the attributes from AdvancedSearch/FormBasedSearch configuration that are available on the search results page on the left and used for results filtering

  • only aggregated attributes (i.e. allowing grouping by values) are shown as facets

Form-Based Search

backend page plugin that

  • in the old client represents an attribute-based search for a specific object type and defines the view of the search results page

  • in HTML5 in combination with Elastic Search, specify the definition of attributes and facets to be indexed and the search results pages to be displayed

Form-Based Search over Database

the Form-Based Search that is performed over database(not via ElasticSearch) by custom attributes from plugin configuration; for usage should be activated in the OMN backend

Global Search

the search performed in the Elastic Full Text Index across all object types (Asset, Product, Channel)

Global search results page

the page which shows found items of different object types on the base of seven common attributes

  • previously, the global search table view was static (not configurable)

Index Rebuild

the process of outdated indexes' update. In OMN can be performed both in OMN-Search application plugin configuration in the backend and on the OMN-Search page in the frontend

OMN-Search Page

the central search page of OMN in HTML5 client providing the following search possibilities (in different combinations depending on the backend configuration):

  • Global search (across all object types)

  • Type-specific (for a specific object type)

  • attribute-specific (for a specific object type on the basis of user-definable attributes)

  • Duplicate Search (search for duplicated assets)

  • PEO Search (search for PEOs by product attributes)

  • Visual Image Search (in future)

PEO Search

backend function plugin that

  • in the old client defines the search for a single specific PEO by values of defined product attribute and PEO name wildcard; if configured PEO Search appears as a dropdown option close to the search bar

  • in HTML5 defines the search for PEO(s) of the defined template by values of product attribute defined in the configuration; if enabled in Simple Searches in OMN-Search page plugin it appears as a tile on the OMN-Search page

Both in HTML5 and the old client no search results page is shown, found items are directly shown in PEO editor.

Quick Search

in fact, is the name of the component in the frontend

  • in the old client configurations of Simple Search available in the dropdown close to the search bar are called "quick searches"

  • in HTML5 Simple Search configurations enabled in OMN-Search page plugin and available as tiles on the OMN-Search page are called "quick searches"

Simple Search

backend function plugin that represents an attribute-based search for objects of a defined type by a defined attribute and uses AdvancedSearch/FormBasedSearch configurations to display search results

  • in the old client if configured Simple Searches appear in the dropdown close to the search bar (configurations are handled on the mandator level in Mandator details → Quick Search configuration)

  • in HTML5 if enabled in OMN-Search page plugin Simple Searches appear as tiles on the OMN-Search page

Type Ahead Search

the search that supports autosuggestions which means that as a user is typing in the search bar, matches for the search term(s) are found and immediately presented (but is not restricted by security rules, so that found results are not guaranteed); for usage should be activated in the OMN backend

Configuration guide

To perform any search in OMN the global OMN-Search page should be formed in the backend as a collection of search types available for each specific user. This includes such frontend search possibilities as quick searches, extended search, PEO search, etc. configured on the basis of existing search-related plugins:

Application plugin

Page plugins

Function plugins

In addition, with the new HTML5 implementation it is possible to run separate searches for different objects in OMN including:

  • search for assets

  • search for products

  • search for projects (channels)

  • global search (mixed search for assets/products/channels)

How to configure

Content views for search results pages

The first step of search configuration is to prepare content views on which basis future search results are supposed to be shown. The following content plugins can be used in the search context in HTML5 client:

  • center view:

    • FSTable

    • LightTable

    • FSSingleObject

    • AssetVariation

  • both center and right views:

    • FSDetail

The configuration of search content views does not differ from their configuration for other places, e.g. for FSNavigation. It is important to note that depending on the type of object for which the search is intended, the corresponding object type must be selected in a configured content view:

  • ISY Object - search for assets

  • PIM2Product - search for products

  • Projects - search for projects (channels)

  • Global search - search for any object

    To perform the mixed search for assets, products and projects "Global search" object type is implemented and available in the configuration of content views. Found results are shown on the search results page on the base of 7 common global attributes. The configuration of FSTable/FSDetail of "Global search" type looks like:

    FSTable - Global Search type
    FSDetail - Global search type
"Global search" object type is configurable for FSTable and FSDetail content plugins only.
LightTable and FSSingleObject views can be configured for "ISYObject" and "PIM2Product" types. AssetVariation content view is configurable for "ISYObject" searches only.

Search results pages: AdvancedSearch / FormBasedSearch page plugin

Advanced Search/FormBasedSearch configurations define search result pages for a specific object type, their center view, detailed representation (right view), executable functions for both of them as well as the available facets, according to which search results can be filtered on the left. Also, it is determined here by which expressions the extended search can be run. Both AdvancedSearch and FormBasedSearch require available configurations of related content plugins as a precondition (see Content views for search results pages).

Advanced Search configuration

(example for "Global Search" object type)

  1. General settings

    1. The width of the left and right panels ("Left panel width"/"Right panel width" options) can be modified

    2. The "Object type" for a future search is selectable (ISY Object, PIM2Product, Projects, Global search).

      "OMNFindIndex" type has no support in HTML5 client
      Advanced Search - object type
    3. The following configuration options are not supported in HTML5 client

      1. "Show language selector" (in old client language selector is shown on the search results page if the option is activated)

      2. "Show "No results" message" (in old client "No results" message is shown in case of unavailable search results if the option is activated)

      3. "Calculate results total count" (in old client total number of found objects is displayed if the option is activated)

        Advanced Search - configurable options
  2. "Search fields" tab. A set of expressions to search in can be defined (only the ones corresponding to the selected object type are available for configuration). Configured expressions are shown as facets on the advanced search results page or in the modal window for the extended search on the client-side. It is possible to assign specific options separated with the pipe symbol ("|") for some of configured expressions ("Options" column). The added values are selectable as the dropdown options for the attributes on the HTML5 client.

    Advanced Search - Search fields
  3. "Content views" tab. Content views of the appropriate object type are configurable for the center and right views. They define how the search results are visible in the frontend. Set default option defines the start view of the result page. If multiple content views are configured it is possible to switch them in the content view switcher in the frontend. The panel position for FSTable, FSSingleObject, LightTable, AssetVariation views is always “Center” while FSDetail view may have both “Right” or “Center” position.

    It is possible to configure FSDetail of any object type for the right view in Advanced Search with "Global search" type.
    Advanced Search - content views
  4. Functions for the configured Advanced Search are assigned to each specific content view as secondary action functions as usual in OMN

    Advanced Search - configurable functions
  5. "Rule values" tab.

    The configuration is not supported in HTML5 client (In general, a configured rule represents an additional search term. That means that the restriction a user made in the Frontend (search query) is extended with the rule specified in the configuration. A common example is to exclude a particular path or directories from the user’s search)

(example for "Project" object type)

Like Advanced Search the FormBasedSearch generally allows searching within attributes an object may have. The properties objects can be found with are also added in the backend configuration. The search for any object type is supported with FormBasedSearch. In contrast to the Advanced Search it uses pre-configured attributes and operators that cannot be changed in the frontend (users fill in a form of given search fields).

The plugin is configurable almost in the same way as Advanced Search. In addition, the following configuration options are available:

  1. "Background image" option is not relevant for HTML5 client. In the old client the configured image is shown as a background on the search results page.

  2. "Panel identifier" option is not relevant for HTML5 client. In the old client it defines the name of the left panel with facets on the search results page.

    FBS - options
  3. "Enable search over database" (HTML5 only) - checked option enables search over database by custom attributes (see FormBasedSearch over database)

  4. "Custom attributes" tab provides the configuration of additional attributes to search in. Configurable options:

    FBS - custom attributes
    1. Name - the name of the attribute

    2. Type - information type (available values: string, boolean, date, number, enumeration)

    3. 'Get possible values' JS function - attribute values can be listed/adjusted (for "Enumeration" attributes only)

    4. JS function to Provide SQL-query - prefilled if attributes added

    5. JS function with JPA - prefilled if attributes added

    If configured, the attributes can be added to the search fields.

    the search by these attributes is possible only in case of checked "Enable search over database" checkbox.
    FBS - search fields - custom attributes

DuplicateSearch page plugin

Duplicate Search represents the search for duplicated assets in OMN (the search can be configured for ISY object type only). The following options are configurable:

  1. Left panel width/Right panel width

  2. Object type (only ISY Object is available in the dropdown)

  3. Show "No results" label - is not relevant for HTML5 client

  4. Calculate results total count - if activated the total number of found objects is displayed in the frontend

  5. Content views to display the search results in the frontend

  6. Separate configuration of secondary action functions for the selected content views

DuplicateSearch

The simple search needs a configuration of the AdvancedSearch/ Form-BasedSearch plugins as precondition because the results of the user’s search are visible in the center area of an AdvancedSearch/FromBasedSearch. SimpleSearches are configurable as function plugins.

To enable the configured searches on the OMN-Search global page the user has to create Simple Searches function plugin configurations first.

  1. "Configuration Identifier". Set identifier is shown as a search name in the frontend

  2. "Default page plug-in configuration". The page plugin configuration from the range of available Advanced and FormBased Searches should be set. Here it is chosen which search configuration is used to show the results.

    Simple Search - FBS
  3. Set necessary "Object type". Limit the search to a particular object type. Available options depend on the object type of default page plugin assigned above(Objects in general, Image, Documents, File, etc.)

    SimpleSearch - FBS- Object type
  4. Set "Search filter operator" (contains, starts with, ends with, equals) to apply to search query

  5. Add expressions corresponding to the selected object type to search in. The list of expressions contains the fields in which is searched for the value entered in the Frontend.

    • If you choose any expression and save the configuration, the search on base of the selected attribute will be performed on the frontend client.

    • If you don’t choose any expression or select several expressions and save the configuration, the fulltext search (search on base of all indexed attributes at once) will be performed on the frontend client.

SimpleSearch - FBS- expressions
if AdvancedSearch/FormBasedSearch with "Global search" type is selected as a default page plugin, the "Object type" and "Expressions" fields are disabled.

PEOSearch is essentially a two-step product search which does not imply a traditionally available search results page. At the first step, the search for products is performed by values of an attribute configured in the backend. The second step involves checking whether found products (or articles/variations) have PEOs that match the configured PEOView by the template. The described steps are actually hidden from the user who started PEOSearch and its visible result is the opening of PEOView editor with corresponding PEO(s) in case of successful search or the display of the error toast message when nothing is found

In the old client when PEOSearch function plugin is configured it appears directly as Quick Search item in the frontend. PEOSearch uses OpenPEOByName function and opens only single found PEO. Otherwise, an error is shown. In HTML5 implementation it is possible to open multiple PEOs in PEOView if they match the template.

To configure PEOSearch for HTML5 client a user has to specify the following options in plugin backend configuration:

  1. Select necessary object type.

    "PIM2Product" option should be used
  2. Specify a configuration identifier

  3. Select a PIM2Product attribute by which value the search should be done ("Attribute to search in" option)

    PEOSearch - select attribute
  4. Specify a necessary comparator ("Attribute value compare" option).

    "Equals" option allows to get the most accurate PEO Search result.
    PEOSearch - define comparator
  5. Set PEOView configuration (HTML5 specific). The template from the plugin configuration will be compared with templates of PEOs available for found products. PEOs with relevant templates will be opened in the PEO editor.

    "PEO name compare" and "PEO name wildcard" are marked with blue border and are irrelevant for HTML5 client.
    PEOSearch - select peoview

For further usage, a specific PEOSearch configuration has to be added to the Simple Searches in OMN-Search page plugin. If configured correctly PEOSearch is shown as a tile on the OMN-Search page in the frontend (set access rights are considered).

"PEO name compare" and "PEO name wildcard" are not relevant for HTML5 client.

OMN-Search page plugin

To appear in the frontend each configured search-related plugin should be enabled on OMN-Search page which represents all available searches at one place. OMN-Search page plugin bases on available AdvancedSearch/FormBasedSearch/SimpleSearch/DuplicateSearch/PEOSearch plugins' configurations. The following options are configurable in the OMN-Search page plugin:

OMN-Search page plugin
  1. "DuplicateSearch configuration". The specific configuration of Duplicate Search page plugin can be set and if so it is available on the OMN-Search page in the frontend as an icon in the lower right corner.

  2. "Activate Typeahead" option allows getting suggestions when typing search query into the search input field, if activated.

    Provided suggestions are coming from ElasticSearch and cannot be restricted in accordance with security rules.
    Meaning: the user can see a suggestion for an object he has no access to. Results of the search are controlled by security rules, so he will not find restricted object.
  3. "Number of typed characters" determines the number of characters to enter before the suggestions appear (disabled until the previous option is checked, equals 10 by default)

  4. "Default SimpleSearch configuration" defines the search which is performed automatically after the query is specified and the search is run (if no tile with Simple Search or Duplicate Search is triggered).

    Only SimpleSearches configurations added below are selectable in the dropdown and therefore should be configured first.
  5. "Simple Searches" defines a list of simple searches which can be used from OMN-Search page. Represented as tiles in the frontend. SimpleSearch and PEOSearch function plugins' configurations are selectable here. Multiple SimpleSearches can be assigned.

    The simple searches defined in Mandator details → Quick search configuration are relevant for old client only
  6. "Extended Searches" defines the list of AdvancedSearch/FormBasedSearch which can be used for attribute based search.
    Extended Search is launched by clicking on the link below the search bar and is represented as a modal window. All AdvancedSearch/FormBasedSearch configurations are selectable here. Multiple configurations can be assigned to extended search.
    More details on the usage of Extended Searches can be found here.


OMN-Search application plugin

A new application plugin OMN-Search has been introduced in the backend in Application Modules → OMN-Search and contains general search configuration. A user can globally configure and enable OMN-Search in the backend to have the necessary Search-Index. The following settings are present here:

OMN-Search application plugin
  1. "API URL" defines OMN-Search API (prefilled with https://elastic-onlinemedianet.de/api/v1/Search). If changed the informative message asking to use "Check link validity" button appears. It allows to get the information whether the provided link is valid. Depending on the result the message is shown close to the button: "Provided link is valid"/ "Provided link is invalid". There is no possibility to continue the configuration without such a check.

    OMN-Search - application plugin - check link validity
    OMN-Search - application plugin - check link validity - invalid link
  2. "Index" information:

    1. "Last manual Index Rebuild" shows the date when the last rebuild was initiated by a user either in the current configuration in the backend or on the OMN-Search page in the frontend.

    2. "Index overall state" shows cumulative information whether all existing indexes are up-to-date

    3. "Selection of indexes to be updated" indicates the state of each specific index (Object/Assets, PIM2Products, Project/Channels) and allows to select the ones to update if some of them are outdated. Possible state values:

      1. Up-to-date

      2. Outdated

      3. Create index

      4. Rebuild in progress

      5. Error

    4. By clicking on "Create/Rebuild Index" option the rebuild process is started. It is not possible to cancel rebuild. After completion the index state is updated.

  3. "Default OMN-Search page plug-in (in Sidebar)" defines one default OMN-Search configuration be used as sidebar item

    The option was used to enable the specific configuration of OMN-Search page plugin in the sidebar until it became configurable in a general way . Seems that the option is not relevant for HTML5 client anymore with the new configurable Sidebar.
  4. If "Show case sensitive results" is activated the search results consider/depend on the case of a search query, otherwise case-insensitive results are shown.

    when the state of 'Show case sensitive results' checkbox is changed in the backend users are informed that indexes have to be rebuilt (the changes won’t be saved until the indexes' rebuild is executed ("Rebuild All Indexes" option appears).
    OMNSearch application plugin - Show case sensitive results - rebuild after changing the state

Access rights for searches

The access to the Search functionality on the OMN-Search page can be restricted for some users. For this, the separate section is available in the Security → Permissions → OMN-Search. Only access rights by roles can be configured here. The following restrictions by Access Rights can be set:

OMN-Search - Security
  • Index state - the visibility of indexes state on the OMN-Search page in the frontend.If restricted for some users, Index Rebuild is not available for them correspondingly

  • Index Rebuild - the availability of "Rebuild Indexes" button on the global OMN-Search page in the frontend

  • Specific search configurations from OMN-Search page plugin including:

    • Simple searches - the availability of tiles with simple searches (quick searches) includes SimpleSearch and PEOSearch function plugins' configurations enabled in OMN-Search page plugin

    • Duplicate searches - the possibility to search for duplicates from OMN-Search page (the icon in the frontend)

    • Extended searches - the availability of Extended Search as a link on the OMN-Search page in general or the availability of each specific configuration of Advanced/FormBasedSearch in the extended search modal window

      • "Customize for type" (for Asset/Product/Project separately) - the availability of "Custom" checkbox in the modal for extended search.If available, the search by all attributes from Elastic Index can be activated.

        OMN-Search Security - extended search

OMN-Search as a background page plugin

In order to use OMN-Search as a start page after login it should be configured in "Mandator details" → "General configuration" tab → "Background page plugin" option.

OMN-Search - background page plugin

Obsolete functionality

The following options from the configuration are not relevant for HTML5 client:

  • "Show Language selector", "Show "No results" message", "Calculate results total count" options from Advanced/FormBasedSearch page plugins (language selector is configurable for each content view separately in the table; information about unavailable results and total count are is always available in the frontend)

  • "Show "No results" label" from DuplicateSearch page plugin

  • "Quick Searches configuration" from Mandator details (configuration of Simple Searches from OMN-Search page plugin is used instead)

  • "OMNFindIndex" type from AdvancedSearch page plugin configuration

  • "Rule values" configuration in AdvancedSearch/FormBasedSearch page plugins

  • "Background image", "Panel identifier" options from FormBasedSearch page plugin configuration

  • "PEO name compare" and "PEO name wildcard" options from PEOSearch function plugin

Information for migration

To perform successful migration to the new functionality :

  • OMN-Search package should be installed according to Requirements and installation, Development environment and systems and other documentation.

  • OMN-Search should be configured appropriately on the base of search-related plugins depending on the customers' needs. The current document can be used as a Configuration Guide.

Configuration Options

The search project could be configured and customized by setting the options in the file "elasticsearch.properties". It supports following options:

Table 1. Options Description
Name Description

es.index.asset.fields.aggregatable

Aggregatable fields list in 'asset' index which are separated with ','

Field name must be the expression path in OMN.

e.g. ISYVideo.videoStorageInfo.title,ISYVideo.videoStorageInfo.name

es.index.channel.fields.aggregatable

Aggregatable fields list in 'channel' index which are separated with ','

Field name must be same as which defined in elastic search channel index.

e.g. Configuration~MAM_CONFIG_REMOVE_BG_API_KEY

es.index.product.fields.aggregatable

Aggregatable fields list in 'product' index which are separated with ','

Field name must be same as which defined in elastic search product index.

e.g. STRING_SINGLE_DOMAIN_ANV_LAZY_5_10

es.omn.operator.like.tokenized

Accept the boolean value and default value is 'true'.

Make the backend rule of operator 'like' to work on the tokenized text or not.

@Deprecated Because the database based search cannot do tokenization.

Welcome to the AI Chat!

Write a prompt to get started...