Search Help and Tips
Available Searches
There are several search pages on this site, which allow you to search the various kinds of data available here. If you want specific information on a particular search page, click one of the topics below.
A common set of search features available on all of the searches on the viHistory site. Help is available on using these common search features.
- Census Search
- The Census Search allows you to search through all census records. There are Basic, Advanced and Fuzzy search options, as well as special Religions and Occupations searches.
- Directory Search
- The Directory Search allows you to search through all directory records. There are Basic, Advanced and Fuzzy search options, as well as special Occupations and Employers searches.
- Tax Assessment Roll Search
- The Tax Assessment Roll Search allows you to search through all tax assessment records. There are Basic, Advanced and Fuzzy search options.
- Global Name Search
- The Global Name Search allows you to search for names through all census, directory, and tax assessment records at once. There are Basic and Fuzzy search options.
- First Nations Search
- The First Nations Search allows you to search for information on First Nations bands, as recorded in the census data.
- Census District Search
- The Census District Search allows you to view information on census districts and subdistricts, as recorded in the census data.
- Annotations Search
- The Annotations Search allows you to view the annotations sent by users of the viHistory site.
- Site Search
- The Site Search allows you to search the viHistory site itself. This search does not include any of the Census, Directory or Tax Assessment records; to search those, use one of the searches described in the other topics above.
Search Types
Most of the search pages have three types of search: Basic, Advanced and Fuzzy. You can switch between the search types by clicking one of the buttons found above the search form on each page.
The Basic search provides a limited set of options, so it is easy to use. You can't search on all fields, but if all you need is the most common set of fields, the Basic search is the most convenient. You can use the search syntax tools listed below in a Basic search.
The Advanced search is similar to the Basic search, but provides many more data fields and options. This does make it a bit more difficult to use, but allows you to specify very detailed search criteria. You can use the search syntax tools listed below in an Advanced search.
The Fuzzy search lets you look for names and other text when you are not sure of the spelling. This works best for names, so most search pages only list name fields for a Fuzzy search. The search uses a method commonly called "soundex" to look for names that sound like the name you enter, so searching for smith will find not only smith but smithe, smyth, schmidt and other variations. The search syntax tools listed below cannot be used in a Fuzzy search. See the help for the Fuzzy search for more information on the methods used.
Search Syntax
You can use syntax tools called "query operators", "wildcards" and "pattern matching" to carry out complicated and/or nuanced searches.
Most of the time, you'll find what you want by entering keywords in the search fields in the basic or advanced search forms. But you may want to make more nuanced or complicated enquiries. If so, you'll need to search the database using syntax tools.
You can use three kinds of tools for complex queries: query operators, wildcards and pattern matching. Here's how they work on the viHistory site.
Operators
Query "operators" limit the extent of a search and add mandatory criteria to the search. For example, if you enter =vessel in the field "Building type" in the advanced search function for the 1881 census, the search engine will only return records for individuals who were residing on "vessels" (as opposed to buildings or shanties).
Query operators must be placed at the start of the search term, as this is the only place the search engine will look for them. Multiple operators, or operators placed other than at the start of the search term, will be included in the search itself, most likely resulting in no matches be found.
With the exception of the "not equal to" (!=) operator, operators cannot be used with wild cards or pattern matching (see below). A search term like '=smi*' will not work; the search engine will look for for data matching the text 'smi*', and will find nothing. The "not equal to" operator can be used with both wild cards and pattern matching, so a search term like '!=smi*' in a name field will find all names that do not start with the letters 'smi'.
Operator | Meaning | Examples |
---|---|---|
= | "Equal to". Matches text or numbers exactly as they are entered (except for case). This is the default if no other operator is used. |
|
!= | "Not equal to". Records containing the supplied search term do not match; all other records do match. The "not equal to" operator is the only one that can be used with wild cards or in pattern matching searches. |
|
< | "Less than". Matches records where the search term is less than the field data. For numbers, the comparison is in the usual numeric sequence (10 is less than 20); for text, an alphabetic sequence is used ('able' is less than 'baker', so '<baker' will match "able" but not "baker"). |
|
<= | "Less than or equal to". Matches records where the search term is less than or equal to the field data. For numbers, the comparison is in the usual numeric sequence (10 or 20 are less than or equal to 20); for text, an alphabetic sequence is used ('<=baker' will match "able" and "baker"). |
|
> | "Greater than". Matches records where the search term is greater than the field data. For numbers, the comparison is in the usual numeric sequence (20 is greater than 20); for text, an alphabetic sequence is used ('baker' is less than 'able', so '>able' will match "baker" but not "able"). |
|
>= | "Greater than or equal to". Matches records where the search term is greater than or equal to the field data. For numbers, the comparison is in the usual numeric sequence (20 or 30 are greater than or equal to 20); for text, an alphabetic sequence is used ('>=able' will match "able" and "baker"). |
|
~ | Matches POSIX regular expression, case sensitive. | See "Pattern Matching: POSIX Regular Expressions" below. |
~* | Matches POSIX regular expression, case insensitive. | See "Pattern Matching: POSIX Regular Expressions" below. |
!~ | Does not match POSIX regular expression, case sensitive. | See "Pattern Matching: POSIX Regular Expressions" below. |
!~* | Does not match POSIX regular expression, case insensitive. | See "Pattern Matching: POSIX Regular Expressions" below. |
Wildcards
"Wildcards" are special characters that stand for various other characters or groups of characters in a search. For example, in a query for family names using a question mark [ ? ] symbol, the symbol [ ? ] is a wildcard character representing any single letter. So, if you enter the criteria Sm?th in your search for family names, you'll find Smyth, Smith, and so forth. An underline [ _ ] can also be used instead of question mark.
An asterix [ * ] represents any group of characters. For example, searching for cigar* in the Occupation field finds records containing any word starting with the letters cigar — such as cigar maker, cigarette maker, or cigar manufacturer. Similarly, searching for *smith in the Occupation field will return all records ending with the letters smith — such as tinsmith and blacksmith. A percent [ % ] can also be used instead of asterisk.
Wild cards cannot be used with operators (see above), but they are commonly used with pattern matching (see below).
Wildcard | Meaning | Examples |
---|---|---|
* or % | Match any number of any characters. This wild card can be placed at the beginning or end of the search term, but not in the middle. | |
? or _ | Match any single character in that position. This wild card can be placed anywhere in the search term. |
Pattern Matching: "Similar To"
The search engine permits a simplified form of of the type of pattern matching known as "regular expressions". Only a subset of regular expression syntax is supported. Pattern matching allows for very complex searches to be carried out. Pattern matching cannot be combined with operators (see above), but can use the wild card characters.
Text used in pattern matching searches is not case sensitive; all text is converted to uppercase internally. This means that you can use 'Smith', 'smith', 'SMITH' or even 'SmItH' and get the same results.
Operator | Meaning | Examples |
---|---|---|
|, or | Alternation (either of two alternatives, 'or'). Multiple items can be compaired. Note that spaces on either side of the '|' symbol will be included in the search term, so 'smith|bain' is not the same as 'smith |bain'. You can also use the word 'or' instead of the '|' symbol; the word 'or' does need spaces on either side ('smith or bain'). |
|
# | Repetition of the previous item zero or more times (note: the usual symbol for this is '*'; '#' is used here to avoid conflict with the '*' wild card character). |
|
+ | Repetition of the previous item one or more times. |
|
( ) | Parentheses () may be used to group items into a single logical item. Both the '+' and '#' symbols can be used with parentheses to repeat the group of enclosed characters. |
|
[ ] | A bracket expression [...] specifies a character class (that is, it will match any of the characters within that class, such as [a-z]). |
|
Pattern Matching: POSIX Regular Expressions
Any search that supports operators also supports POSIX regular expressions. POSIX regular expressions have a syntax like the "similar to" pattern matching search, but are far more powerful — and therefore, far more complex. It is beyond the scope of this help to go into the details of POSIX regular expressions. If you don't already understand them, you should take the time to learn at least the basics before trying to use them here. Some helpful links are listed below.
A regular expression search must begin with one of the operators list above (~, ~*, !~, !~*), followed by the expression. Unlike with normal searches, where all text is converted to uppercase before it is compared, regular expression searches do no case conversion. If you want a case-insensitive search (where "a" and "A" are the same thing), use the "~*" or "!~*" operator. Because of the potential complexity of a POSIX regular expression, no checking is done to ensure that the expression is valid before it is used; it is up to you to enter correct expressions, and failure to do so may result in unexpected results or error messages.
Some helpful POSIX regular expression links:
-
Regular expression tutorials :
http://www.regular-expressions.info/ -
PostgreSQL Documentation (the database used on this site):
http://www.postgresql.org/docs/8.0/interactive/functions-matching.html -
Open Group Base Specification :
http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html -
Google Directory :
http://directory.google.com/Top/Computers/Programming/Languages/Regular_Expressions/FAQs,_Help,_and_Tutorials/