Keyword Searching

Keyword searching allows you to perform searches on text data fields, documents and file attachments stored in your ExtraView database. There are two searching technologies used within ExtraView:

  • The standard keyword search mechanism uses direct queries on the database to obtain results. The advantage is that there is no special setup needed by the administrator of your system. The disadvantage is that queries are relatively slow, especially on large databases.
  • The Quickfind mechansim requires a small amount of setup by the administrator, but once set up is extremely fast to return results from your queries. It also has special properties in better use of wildcards, phrase search, and in the support of Boolean logic within your searches. This feature may not be turned on within your installation. If you are not sure, please ask your administrator as there is no way to tell from the user interface if Quickfind is enabled.

All searching for keywords is case-insensitive.

Using Keyword Search

There is an option to be able to search attached documents, as well as searching for keywords within the text of the issues in your database. If file attachment searching is enabled, the search box will look like:

Check the box to allow ExtraView to search the attachments in its database. Note that if you have a large number of attachments and / or the attachments are of a large size, and Quickfind is not enabled, the search is likely to take longer to finish. Also, note that the administrator may have restricted the file types through which you can search for keywords. For example, you will probably be allowed to search through Microsoft Word documents, but not through image files. In the same way, the administrator may have placed a limit on the total size of the attachments that can be searched, without warning the user.

Note: You cannot save a report that performs a keyword search with the option to search attachments. This is intended as a feature to be used on an ad hoc basis as opposed to being used for routine reporting.

Standard Search Mechanism

For efficiency, searching attachments works slightly differently if your underlying ExtraView database is Oracle or Microsoft SQL Server. The searching with an Oracle database is case sensitive, and the searching with Microsoft SQL Server is case insensitive. Your system administrator can tell you which database is being used, if you are not certain. This basic search mechanism has the following features:

  • To search for a single word, in any of the text type fields within issues, simply enter the word within the keyword search field. For example, if you enter the word picture, then ExtraView will search for this word anywhere within the text of an issue. Finding a keyword within a field means that the search will look for all words that start with the text you enter. For example, if you enter the keyword table, then issues containing both table and tabletop will be found
  • To search for multiple keywords enter them, separated by spaces. All the keywords entered must exist within the same field within an issue. For example, if you enter the words picture frame then ExtraView will search for the occurrence of both words within the same field within an issue. The same general rule about special characters as in searching for single keywords applies
  • If you have four or more search words, then words that are a single character are dropped. If there are four or more words and all are only single characters, then only the first one is used. Also, if duplicate words are found in the search, then only one is used.

Quickfind Search

ExtraView’s Quickfind technology allows especially fast searching for text within your installation when seeking keywords that may be spread through thousands of issues or file attachments. Quickfind’s efficiency and speed comes from techniques that index the text and the file attachments you enter into your database. In addition to searching for text, the Quickfind technology may also be used to search for issue ID's, email addresses and URLs within issues. All searches executed using Quickfind are case-insensitive.

Searching for Single Words

To search for a single word, in any of the text type fields within issues, simply enter the word within the keyword search field. For example, if you enter the word picture, then ExtraView will search for this word anywhere within the text of an issue. Finding a keyword within a field means that the search will look for all words that start with the text you enter. For example, if you enter the keyword table, then issues containing both table and tabletop will be found. Keywords that you search for should not contain special characters (see below), with the exception of email addresses within fields, and with the exception of valid URLs.

Searching for Multiple Keywords

Enter the keywords, separated by spaces. All the keywords entered must exist within the same text type field within an issue. For example, if you enter the words picture frame then ExtraView will search for the occurrence of both words within the same field within an issue. The same general rule about special characters as in searching for single keywords applies.

Wildcard Searches

Within each specified keyword there may be either or both of the wildcard characters, * or ?. This produces a wildcard search. At each position where a * exists, there may be zero or more characters in the string in the field for a match to occur. For example, abc*def matches a field value of abcdef or abcxyzdef. At each position where a ? exists, there must be a single character in the string in the field for a match to occur. For example, abc?def matches a field value of abcxdef but NOT abcdef. Wildcards at the beginning of a keyword will invoke a lengthy search of all words within the database and should be avoided if possible. Wildcards may appear once or multiple times in a keyword, and they may appear in any or all of the keywords in a multiple keyword search.

Phrase Searches

A phrase search is used when a keyword is in either of three formats:

  1. The keyword is surrounded by single or double quotes
  2. The keyword contains special characters
  3. The keyword contains token breaks

A phrase search of type 1 produces a hit when the exact keyword phrase inside the quotes is found in the field values. Basically, this means that the keywords in the phrase appear in the specified order and are separated only by special characters or spaces. For example, a phrase of "abc def" will match with a field value of abc    def or abc-def or abc - - def. Note that - is a special character. A phrase search of type 2 is converted to a phrase search of type 1 by replacing the special characters with spaces and surrounding the result with double quotes. Essentially, the special characters are replaced with token separators and the resultant phrase is used in the phrase search. A phrase search of type 3 is converted to a phrase search of type 1 by replacing all word breaks with a space character and surrounding the result with double quotes, if it is not already surrounded by double quotes. As an example, a string like Fredまままま gets broken into Fred ま ま ま ま, which consists of five words (Alphanumeric and Hiragana). Another example is Fredキキキ, which gets broken into Fred キキキ, which consists of two words (Alphanumeric and Katakana). As another example, abc-def will produce a phrase search of "abc def". This would match a field value of abc   def or abc-def or abc - - def, but not abcdef. Terms in a phrase search may use the * and ? wildcards. However, they are not permitted to appear at the beginning of any term used in a phrase search.

Special Characters

This refers to installations with Quickfind enabled only. The Quickfind special characters are:

+ - & | ! ( ) { } [ ] < > ^ " ~ * ? : \

Note that * and ? are wildcard characters.  Special characters are ones that Quickfind does not index and you cannot query for these characters, either as characters by themselves or when the character is part of a word, i.e. there is no space between the special character and an adjoining alphanumeric character.

Complex Queries

You can use Boolean operators within your keyword, to perform complex queries. To accomplish this, you use the following operators with the AND, +, OR, NOT and -. To indicate to Quickfind that you are entering a complex query, preface the query with the # character and ensure that the ANDOR and NOT are in upper case.

  • AND
    The AND operator matches issues where both terms exist anywhere in the text of a single field within the issue. This is equivalent to an intersection using sets. The symbol && can be used in place of the word AND. To search for documents that contain abc def and def ghi use the query:
    #abc def AND def ghi

    +

    The + or required operator requires that the term after the + symbol must exist somewhere in a the field of a single issue. To search for documents that must contain abc and may contain def use the query:
    #+abc def

    OR

    The OR operator matches documents where both terms exist anywhere in the text of a single field within the issue. The symbol || can be used in place of the word OR. To search for documents that contain abc def or def ghi use the query:
    #abc def OR def ghi

    NOT

    The NOT operator excludes issues that contain the term after NOT. This is equivalent to a difference using sets. The symbol ! can be used in place of the word NOT. To search for issues that contain abc def but not def ghi use the query:
    #abc def NOT def ghi

    Note: The NOT operator cannot be used with just one term. For example, the following search will return no results:

    #NOT abc def

    -

    The - or prohibit operator excludes issues that contain the term after the - symbol. To search for issues that contain abc def but not def ghi use the query:
    #abc def - def ghi

Searching Within Specific Fields

You can restrict which Extraview fields to search. You must know the ExtraView field name to perform this searching. To achieve this, you first enter the field name, then a : character, and then the term you are searching for. You can combine the specific field search with other complex search criteria. For example, you might want to search only the SHORT_DESCR field for the term abc. The syntax for this is:

#SHORT_DESCR:abc

Note that if you want to search for multiple words within a field, you need to repeat the field name. For example, to search the SHORT_DESCR field for the terms abc and def you would enter:

#SHORT_DESCR:abc AND SHORT_DESCR:def

Grouping Queries

Quickfind supports using parentheses to group clauses to form sub queries. This can be very useful if you want to control the boolean logic for a query. For example, to search for either abc or def and ghi use the query:

#(abc OR def) AND ghi

This eliminates any confusion and makes sure that ghi must exist and either term abc or def may exist.

Escaping Special Characters

Quickfind supports escaping special characters that are part of the query syntax. The list of special characters is:

+ - & | ! ( ) { } [ ] ^ " ~ * ? : \

To escape these character use the \ before the character. For example to search for (1+1):2 use the query:

#\(1\+1\)\:2

Fuzzy Searches

Quickfind supports fuzzy searches based on the Levenshtein Distance, or Edit Distance algorithm. To do a fuzzy search use the tilde ~ symbol at the end of a single word term. For example to search for a term similar in spelling to roam use the fuzzy search:

#roam~

This search will find terms like foam and roams. Note the use of the # at the beginning of the search term. An additional, optional parameter can specify the required similarity. The value entered is between 0 and 1, with a value closer to 1 only terms with a higher similarity will be matched. For example:

#roam~0.8

The default that is used if the parameter is not given is 0.5.

Proximity Searches

Quickfind supports finding words are a within a specific distance away. To do a proximity search use the tilde ~ symbol at the end of a phrase. For example to search for abc and def within 10 words of each other in a document use the search:

#abc def~10