TheonUI Search Options

This page describes the Tool Box options available in TheonUI for refining searches.

Pattern - No Hook, Hook Left, Hook Right and Hook Both

A pattern search type is the default when entering a value in a text field. The default type of pattern search is Hook Left. A pattern match is a regular expression match and some characters have special meaning.

With Hook Left the value in a field is anchored to the start of the field, hence only matching content at the beginning of the field (ignoring anything trailing at the end). With Hook Right the value in a field is anchored to the end of the field, hence matching only content at the end of the field (ignoring anything leading at the beginning). With No Hook the value in a field floats and can match content anywhere within the field. With Hook Both the value in a field is anchored to the start and the end of the field and consequently will only match the whole content of the field.

  "xyz" with "Hook Left" would match "xyz", "xyzabc" but not "mnoxyz"
  "abc" with "Hook Right" would match "abc", "xyzabc" but not "abcmno"
  "mno" with "Hook Both" would match "mno" but not "mnoxyz" or "abcmno"
  "abc" with "No Hook" would match "abc", "xyzabc", "abcmno" and "xyzabcmno"

A pattern match is case insensitive by default, "xyz" will match "XYZ" and "xYz" etc.

In addition to the basic pattern matching types above standard POSIX Regular Expression syntax can be used in a field to make a match criteria.

Exact Match

An exact match search type is the default when entering a value in a numeric, boolean or date field. The first character(s) of the value entered as a search term in the field indicate the type of match. If the first character is not any of those listed below then an equals comparison is assumed (same as if = was put as the first character). All comparisons are done using the PostgreSQL LOCALE.

   "99" means field content must exactly match "99"
   "=99" means same as above
   ">99" means field content must be greater than "99"
   "<99" means field content must be less than "99"
   ">=99" means field content must be greater than or equal to "99"
   "<=99" means field content must be less than or equal to "99"
   "1..99" means field content must be greater than or equal to "1" and less than or equal to "99"

As a special case to search for blank/empty values just

=
used alone in a field will match these.

Multiple Matches

In both Pattern and Exact Match you can use ; (semi-colon) to match any one of multiple values. Examples below.

   "abc;xyz" with "Pattern" will match either "abc" or "xyz" at the start of the field ("Hook Left" default)
   ">24;8;0" with "Exact Match" will match any value greater than "24" as well as the values "8" or "0"

Invert Match

Use the Invert Match on any field in Pattern or Exact Match to return records that don't match the given criteria.

Order

You can choose an order to return the results by selecting Increasing Order or Decreasing Order on a field. You can order by more than one field.

Advanced Search

Normally a search is specified on a single record and consists of multiple matches in each field which are AND'ed together (all must match a record for that record to be returned in the result set). However a search can consist of multiple records. Each record of a search is OR'ed together (if a record matches either it will be returned in the result set). So, for example, if we have a table with columns A, B and C then we could construct a search like the following:

RECORD A B C
1 orange   blue
2   red  

which would match all records where (column A is "orange" AND column C is "blue") OR (column B is "red").

-- TimColles - 27 Nov 2018

Topic revision: r1 - 27 Nov 2018 - 14:45:25 - TimColles
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies