Last modified on 27 November 2018, at 14:13

Mobile Free Text Search (UBIK WinX)

Revision as of 14:13, 27 November 2018 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

Search in progress (bar)
Search in progress (dialog)
Search dialog displaying truncated result

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.

Presenting of results

Since there is a delay between the delivery of offline and online results (online search is much slower because it involves network), UBIK® presents the offline result first if possible and hints the users that more search is in progress. The online result might be presented later in different scenarios.

  • In case the offline search finds only one matching object, UBIK® will immediately navigate to that object;
    • If the online search later finds the same matching object, nothing will happen. Or if a different match is found, UBIK® will navigate again, this time to that new one;
    • If the online search later finds more than one matching object, a dialog will be used to present these objects.
  • In case the offline search finds more than one matching object, a dialog will be used to present these objects;
    • Any additionally matches found during the online search will be merged into that dialog;
    • If the user presses OK or Cancel to dismiss the dialog before the online search finishes, the online result will be ignored.

Search status indication

  • Whenever a search operation is in progress, users can find the indication of that in UBIK®.
    • The hint in the search box;
    • The hint in the search result dialog (if a dialog is shown).
  • When a search is finished, users can find a summary of its result (even if no matches are found).
  • If too many matches are found, only the first 30 of them will be display.



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.