Search Configuration

ConSol CM provides a powerful search mechanism for all objects involved in the business processes (customers, tickets and resources). Technically, the search is based on the Indexer, a module of ConSol CM.

The following paragraphs explain the entire topic Search in ConSol CM from an administrative point of view. Please refer to the ConSol CM User Manual for a detailed explanation about how to use the search as an engineer.

Search Modes

A ConSol CM engineer can use several search modes:

Quick Search

This is performed using the Quick Search field in the upper right-hand corner of the Web Client. The display of the results (i.e., the fields and the order of the fields in the result list) can be formatted using templates, as detailed in sections Templates for Customer Data and CM/Resource Pool - Templates for Resource Data. Please keep in mind that you can adapt the length of the result set using the system property cmweb-server-adapter, globalSearchResultSizeLimit. The result set will also be influenced by the Page Customization attribute appendWildcardAutomatically, see section Page Customization, appendWildcardAutomatically for details.

Figure 342: ConSol CM Web Client - Quick Search

Phonetic Search

For the Quick Search, a phonetic search can be configured for String fields. Please see section Configuring the Phonetic Search for the explanation of how to prepare your ConSol CM system for this feature.

With a phonetic search, the engineer cannot only find exact matches in the search results but also results which sound similar even if the spelling differs from the entered search term. The implementation is based on the Apache Commons Codec libraries.

Figure 343: ConSol CM Web Client - Search results without phonetic search

Figure 344: ConSol CM Web Client - Search results with phonetic search

Detailed Search

This is performed using the Detailed Search page. To open this page, click on the magnifier icon next to the Quick Search entry field.

Figure 345: ConSol CM Web Client - Detailed Search

Please keep in mind that the result list length and paging of the result list for the Detailed Search can be configured using the system properties cmweb-server-adapter, searchPageSize and cmweb-server-adapter, searchPageSizeOptions.

For the engineer search, you, as an administrator, can define engineer names which should not be offered in the drop-down menu in the search criteria. This is configured using page customization. Please see section excludedUserNames for details.

Please refer to the ConSol CM User Manual, section Searching for Tickets, Customers and Resources to learn how to use the search functionality.

Important note about search with fields of lists of structs

Please note that in ConSol CM versions 6.10.6.x and older, two fields which are part of the same list of structs (i.e. of a table) are combined by OR in the Detail Search. In CM versions 6.10.7.0 and up, the two fields are combined by AND. This will lead to different search results in the different CM versions!

Please refer to the ConSol CM User Manual for a detailed example.

Configuring the Search Result List

You, as an administrator, can configure the layout of the search result list using the annotation order-in-result. This annotation influences the columns of object-specific search result sets. For example, the customer field group ResellerCompanyData, belonging to the customer data model ResellerModel, contains the following customer fields:

Thus, in a search result list, e.g., a Detailed Search which shows a result set with companies of a customer group which uses the ResellerModel will contain the two columns company_name and company_number.

For a field (i.e., column in the result table) which should not be displayed in the Web Client (i.e., in the field selector for the result list and as column in the table) at all, set the value of the order-in-result annotation to 0 (zero).

The following figure shows the order-in-result annotation of a customer field. You reach this screen by opening the navigation item Data Models in the navigation group Customers.

Figure 346: ConSol CM Admin Tool - Customers, Data Models: Setting the annotation order-in-result for a customer field

Figure 347: ConSol CM Web Client - Search result set with the two annotated columns (order-in-result)

Notes about the Order of Search Result Columns

Since the annotation order-in-result is not the only parameter which influences the order of columns in search results (tables), please find here a detailed explanation.

In the following section, user preferences means the layout of a search result table which the engineer has configured manually, e.g., the columns which should be displayed, the order of those columns or the sorting.

Rules:

  1. The columns of a search result table can display different fields for each of the CM object types:

    1. for tickets: ticket fields as well as internal fields like queue, creation date, engineers
    2. for customers (contacts or companies): customer fields as well as internal fields like object name of a customer
    3. for resources: resource fields as well as internal fields like object name of a resource
  2. The order-in-result annotation organizes only the order of the ticket fields, customer fields, and resource fields, not of internal fields.
  3. The internal field types have the following visibility and order by default:
    1. for ticket lists:
      1. Engineer
      2. Main customer
      3. Ticket name
      4. Ticket subject
    2. for customer (contact/company) lists:
      1. object (i.e. contact or company) name
    3. for resources lists:
      1. object (=resource) name
  4. The data fields (ticket field, customer fields, and resource fields) are primarily ordered by the user preferences. Those will overwrite any other configuration.
    When, e.g., as default configuration, a ticket field has the annotation order-in-result = 5 and is visible, it will (case a) not be displayed if the engineer has deselected the column, and (case b) it will be displayed as column #2 if the engineer has placed it there.
  5. If no order is defined by the user preferences, the order is the ascending order of numbers from the data field annotation values order-in-result. Those numbers are evaluated globally across all data fields within all ticket field groups, all customer field groups, and all resource field groups. Identical values of the annotation order-in-result of different data fields are theoretically possible.
    For an exactly defined order, use some convention for an entire CM installation and apply unique numbers, e.g., use high four digit values.
  6. If there are still two fields with identical values for order-in-result which should both be displayed, the data fields are alphabetically ordered based on their localized names. The locale of the engineer's browser is used.

Configuring Detail Search Behavior for Enum and MLA Values

The values within an enum (a sorted list) or an MLA might change over time, e.g. a new software version is added to a list, an old one should no longer be available. In this case, the deprecated/old value will be deactivated. This means that there might be tickets which contain enum or MLA values which are deactivated in the current system. Of course it is indispensable that engineers can still search for tickets which contain this value. Therefore deactivated enum or MLA values are offered in the Detailed Search as shown in the following figure for the deactivated enum value Resource Pool.

Figure 348: ConSol CM Web Client - Detailed Search for modules, one enum value deactivated

The ConSol CM behavior concerning the Detailed Search of deactivated enum and MLA values can be configured using a Page Customization attribute: enableSearchForDeactivatedEnums .

Autocomplete Search (Search by Using Intelligent Fields)

The Autocomplete Search is performed implicitly when you start entering a word in an Autocomplete field, e.g., in company data or customer data when you create a ticket (see figures below).

Figure 349: ConSol CM Web Client - Autocomplete Search

Figure 350: ConSol CM Web Client - Suggestions for an Autocomplete Search

Starting with ConSol CM version 6.10.2, a search in all contacts of the ConSol CM database is also performed in the Ticket Email Editor when an engineer starts typing in the To, Cc or Bcc field:

Figure 351: ConSol CM Web Client - Ticket Email Editor: Automatic search for contacts as email receivers

The number of characters which must be typed before automatic search is activated can be configured using the page customization attribute minMailInputLength (Integer, Default 1) in the scope mailTemplate.

Fields Which Can Be Searched

For ticket fields, customer fields and resource fields which should be searched, the annotation field indexed has to be set. See section Search Configuration. This makes the field available for the Quick Search and for the Detailed Search.

Two types of fields are processed by the search engine:

  1. data fields and content which are/is indexed by default
  2. data fields which are annotated using the annotation field indexed

Data Fields and Content Which Are Indexed by Default

Data Fields Which Are Annotated Using the Annotation field indexed

For all data fields which have been added and configured by the ConSol CM administrators, the annotation field indexed has to be set to make the fields searchable. A field which is indexed is available in

Please note that if values of a table, i.e. a list of structs, should be available for the search, all elements of the data structure have to be annotated with field-indexedtrue. This means that the list, the struct and every single data field within the struct have to be annotated that way!

You, as an administrator, can define the system's behavior with regards to search results. Depending on the values of the field indexed annotation, the search results for a contact might include all the tickets of the contact as well. The following table shows the implications of all possible values of the field indexed annotation for the different object types. The field indexed annotation has to be set for each individual data field, e.g., name and email for a contact, zip and address for a company, priority and software module for tickets, or name and model for a resource type.

Please note that two distinct perspectives are addressed here:

  1. the search criterion, i.e., the field for which you start the search, e.g., all companies that start with ConS*. A field is made available in the search by setting the field-indexed annotation.
  2. the result set, i.e., the objects which are displayed in the result lists. The objects in the result set are defined by the value of the field-indexed annotation. Depending on this value, you might see only the objects you have searched for (e.g., only contacts) or also objects which are related to the objects you have searched for (e.g., companies of those contacts). Please see the following table for a detailed explanation.

Object type/

value of field indexed annotation

transitive unit local not indexed
TICKET
  • no difference between the three values
  • the ticket data will be available for searching
  • no other objects which are related to a ticket in any way will be retrieved
  • we recommend that you use the default value transitive
  • the ticket data will be NOT available for searching
CONTACT
  • the contact data will be available for searching
  • the tickets of the contact will also be found when you search for the contact
  • searching by company by its contact field is NOT possible
  • the contact data will be available for searching
  • searching for a company by its contact field is NOT possible
  • the contact data will be available for searching
  • no other objects which are related to a contact in any way will be retrieved
  • the contact data will be NOT available for searching
COMPANY
  • the company data will be available for searching
  • the tickets of the company will also be found when you search for the company
  • the contacts of the company will also be found when you search for the company
  • the company data will be available for searching
  • the contacts of the company will also be found when you search for the company
  • the company data will be available for searching
  • no other objects which are related to a company in any way will be retrieved
  • the company data will be NOT available for searching
RESOURCE
  • no difference between the three values
  • the resource data will be available for searching
  • no other objects which are related to a resource in any way will be retrieved
  • we recommend to use the default value transitive
  • the resource data will be NOT available for searching

Please note that if it should be possible to sort result tables (in the Web Client) according to a column (by clicking on the column header), the respective field has to be indexed!

Configuring the Phonetic Search

In order to activate the phonetic search for a data field, set the annotation phonetic to true for this field. The annotation can only be used for String fields.