Advanced Search: What’s That?
It is always good when there are just a few search parameters, and when one can perform a query with a single text line (for example, Full Text Search). Nevertheless, in most cases, you need to conduct search while operating several parameters at the same time. For example, “Find all male files that has blue trousers, an Omega watch and the appendix removed.” In order to specify the conditions of such a query, you will need more than just one text line.
In such cases, Advanced Search would be much of a help. It is a universal query builder UI for data search and filtering. It will allow you setting the search conditions of almost any difficulty, while using exclusively natural language, terms and expressions of which are familiar to user.
When you first create an Advanced Search, the conditions from the current File Search is automatically replicated into your search, so that it i.e. start out with predefined conditions selecting Active, Unidentified and AM or PM files. This makes it easier to include general conditions without specifying these one by one while starting each new Advanced Search.
Advanced Search Components
The Advanced Search user interface consists of three main components – an File Attributes Panel, Search Conditions Panel, and Result Columns Panel. The picture below shows the general layout, but the panels can be resized by dragging the horizontal and vertical separators:
File Attributes
While working with Advanced Search, you operate file attributes. They constitute something like the field structure of a DVI file that one can extract through construction of queries.
File Attributes Panel
This panel can be used as a visual representation of all attributes/fields of a DVI file, which we can use to build queries. It can be used to add entity attributes to a Columns Panel (and they will be displayed in the result) or to a Conditions Panel (in order to actually set the query conditions). You can either move selected attributes to the corresponding panels with a mouse or use buttons Add column and Add condition ( ).
Main branches
- The File branch contains general, administrative attributes of a File
- The AM branch contains all fields that are special to an AM/MP file
- The PM branch contains all fields that are special to a PM/UB or PUI file
- The Common branch contains all fields that exists in all file kinds
In general, it is a very bad idea to select checkboxes at a high level, as it will automatically also select all attributes within the underlying branches, effectively leading to a system overload. Instead, the checkboxes at a high level can be used to ensure that everything within the underlying branches is unchecked when the higher-level checkbox is unchecked.
The buttons are used as:
Select all attributes (never use this - will be removed) | |
Remove selection from all attributes | |
Add selected attributes to the Result Columns panel to include them in the search result | |
Add selected attributes to the Search Conditions panel to be able to specify |
Result Columns
Using columns panel you can specify the columns which you want to be displayed in your query results.
You have a list of lines, each of them represents a column in the query results. Every line consists the Attribute name (i.e. Day), a Title (i.e. DOB Day), which serves as a column title in the Results Panel, and buttons – for ordering, deleting and aggregating columns (on the left) and sorting (on the right).
Managing columns
When you click the button in front of each column specification, you get the option to move/delete the column or change its type from simple to grouped aggregate. The aggregation is currently not working.
Sorting the result
When you click the None link at the end of each column specification, you get to option to sort this column Ascending or Descending. If you sort on multiple columns, the first sorted column from top to bottom (left to right on the paper) will have highest priority and so on.
Adding an extra column
Columns can be added from the File Attribute panel or from the button.
You have to option to enter a search word, and then only attributes regarding this keyword will be visible in the branches.
Search Conditions
Here you can specify filtering conditions for data selection. So the result of your query will include only the data that satisfy those conditions.
Every line in the Conditions Panel corresponds to a single query condition. Every condition consists of 3 elements – an expression (some file attribute), an operator, and value(s) (one or more).
Attributes, together with operators and values set certain limitations regarding data which is stored under a given attribute. For example, “(Date) is equal to 23 Jul 2014,” “(Quantity) is greater than 35,” “(Weight) is less than 100,” and “(Name) starts with A.”
Enable or Disable Conditions
The checkbox in front of each line allows you to easily enable (checked) or disable (unchecked) any of your conditions so that you don't need to delete a condition in order to temporarily see which records it excludes.
Composite searches
Sometimes, you would like to include 'OR' conditions in your query. An example is seen below, where two query lines are grouped in a "bracket" or predicate with an any clause.
So, a result line is included if the Status File kind is any of AM or PM (effectively being an OR between sub-conditions):
If you click on the button (or any other numbered button), you get the option to Open a new bracket, which creates a new group/predicate below and within the current button.
You may also Add a new condition either after the current group/predicate (at the same level), or Delete the whole group including all sub-conditions.
Finally, you may move the group up or down in the total list of conditions.
The group/predicate can change function if you click on i.e. the link:
You can choose between:
- all - corresponding to an AND between conditions
- not all - corresponding to an OR where one of the conditions must fail
- any - corresponding to a full OR between conditions where one of the conditions must succeed
- none - corresponding to a NOT ( AND ) where all of the conditions must fail
Real-world example
Let us imagine that we want to search for files where the AM or PM is wearing either blue or grey trousers.
You will end up with a condition list like this: