Last modified on 24 August 2017, at 08:01

Mobile Free Text Search (UBIK WinX)

Revision as of 08:01, 24 August 2017 by LGE (Talk | contribs)

On UBIK® WinX, you have the possibility to search for objects by free text input.

Search bar

The search bar

Once a user is logged in and the initial objects loading is finished, a search bar becomes available in the home page. The user can enter search criteria into the bar and wait for the results of the search which will start in the background.

Search result

The search result dialog

If there is only a single 100% (perfect) match, the app will immediately navigate to it. If multiple perfect matches are found, they will be presented in a search result dialog.

Online and offline search

A mobile free text search is always performed against the data available on the device. Additionally, an online server search is executed if both

  • The server is reachable and the app is not in offline mode;
  • A Free text search query is provided by the server.

Search result quality

The quality of the search result are presented as percentages which depends on how many search criteria you entered were found for an object. E.g., if 2 out of 2 criteria were matched successfully, the respective object is regarded as a 100% (perfect) match. If 2 out of 3 criteria were found, it is a 66% match. Every object coming from the server is considered as a 100% match (for now). The result list is then sorted by the percentages in a descending order.

Search criteria

The text you provide in the input field is processed into search criteria objects before actually executing the search. An understanding of this mechanism and how to write a search query that is comprehensive for it will benefit your ability to find objects.

Examples:

  • Pressure 32.8 - Will find objects having a property "Pressure" with the value 32.8.
  • "Pump inspection" 2015-05-27 - Will find objects named "Pump inspection" with a date property that says 2015-05-27.

Interpreting search inputs

By default, the search input is divided into search criteria by the blank characters ( ) in it. Every word counts as a separate criterion. In order to search texts with blank characters in them, we can use the double quote signs ("") to group words into a single criterion.

In the example above, the input would be interpreted as 3 criteria ("Pump", "inspection" and "2015-05-27") without the double quote signs.

Property descriptions

If a meta property is found that matches a criterion, all found property values are filtered by it. This way, you can specify your search efficiently.

For example, imagine searching for a value like "2". It will be found extremely often, so without further specification, you will get all kinds of results. Adding the meta property description "Layer ID" will result in a way better result.

The query then looks like the following: "Layer ID" 2

Technical background

The user entered criteria are all regarded as texts and compared against the following.

  1. Display strings of content objects;
  2. Displayed values of properties;
  3. Descriptions of meta properties.

The 2nd point is worth mentioning in particular because it means users can search by what they see instead of the actual values behind the properties. This can be quite helpful in the cases below.

Search by selective list items

The selective list items usually have system internal values (such as coded integer numbers) that are hard to comprehend for the users. That is why they are also configured with some more understandable descriptions.

Imagine a status color property having a value "-16711936" and the corresponding selective list item having the description "green". The user can find the object by searching for "green" instead of " -16711936".

Search by Guid/linked properties

The values of Guid/linked properties are, by definition, Guids of objects to which properties are linked. Since their values are hard to comprehend for the users, they usually also come with more meaning display strings (such as the names of the linked objects).

Imagine a scan reference property having a value "BA732E84-58C6-4859-A8D0-97770D7DB8A9" and a display string "PU212". The user can find the object by searching for the latter.