Overview
Searching is performed by two
fundamentally different mechanisms in GetARef: free text search and indexed search. Whereas the first
doesn't require any preparation at all, the reference file must first has been indexed
with the latter. The user interface is identical for free and indexed searches but the
search mode is selected by the user by setting a check box in the search dialog.
Both mechanisms can be used with
any of three related commands used to search for references:
|
Find
is used to find the next reference containing (or not containing) certain text strings.
This command is similar to Edit|Find text in a word processor except that GetARef
will find the next reference containing the text rather than just the entered text.
|
|
Tag
is used to tag one or several references on the basis of their content.
|
|
Locate
is used to locate one or several references without tagging them. This command is a
powerful alternative to complex tag expressions.
|
For all three search command, search expressions are entered in a similar fashion.
Search
expressions
A search string is simply a sequence of
characters. One or several search strings with or without an operator comprise a search expression .
The simplest possible search expression thus consists of a
single character but more likely one would enter a word or part of a word, for instance: man
When searching for man' GetARef would find not only
the word man but also human, manual, woman,
etc., i.e., GetARef literally looks for the sequence of letters comprising the search
strings of a search expression.
Operators used in search expressions
The operators available in GetARef are all 'Boolean', i.e.,
they return either TRUE or FALSE because either a text string exists in a reference or it
doesn't.
Standard operators |
|
AND |
x
AND y is TRUE if both x and y are true |
|
OR |
x
OR y is TRUE if either x is true, y is true or both are true |
|
XOR |
x
XOR y is TRUE if only one of x and y is true. |
|
NOT(a) |
NOT(x)
is true if x is false (and false if x is true). |
Extended operators |
|
ANY(a,
b,.., n) |
ANY(x,
y, z) is true if any of x, y or z is true. |
|
NONE(a,
b,.., n) |
NONE(x,
y, z) is true if none of x, y, or z is true. |
|
ALL(a,
b,.., n) |
ALL(x,
y, z) is true if all of x, y, or z are true |
|
NEAR(x,
y, n) |
NEAR(x,
y, n) is true if both string x and y can be found and they are within n
characters (if n is omitted a default value of 10 characters is used) |
Boolean functions |
|
TAGGED |
TAGGED
is true if the reference is already tagged. |
|
LOCATED |
LOCATED
is true if the reference is already located. |
Field operators (for
searching specific fields) |
|
ID(text) |
Identification
string |
|
AU(text) |
Author
field |
|
TI(text) |
Title
field |
|
YVP(text) |
Year,
volume and page field |
|
SO(text) |
Source
field |
|
ED(text) |
Editor
field |
|
PU(text) |
Publisher
field |
|
CI(text) |
City
field |
|
AB(text) |
Abstract/comment
field |
Examples of valid search expressions
muscle
AND ATPas |
TRUE for
references containing both words. The expression muscle and ATPas would be taken
as a literal text string because and doesn't appear in upper cases. |
ALL(muscle,
ATPas, myoglobin, lactic acid) |
TRUE for
references containing all four words. In this case, an equivalent expression would be muscle
AND ATPas AND myoglobin AND lactic acid. |
muscle
AND ANY(lactic acid, potassium) |
TRUE for
references containing muscle and at least one of the words passed to the ANY
operator. |
TAGGED
AND ANY(woman, women, female) |
TRUE for
already tagged references containing one of the synonyms for female. |
muscle
AND human OR primate |
TRUE for
reference containing either the word primate or both muscle and human
(AND has a higher priority than OR). Parentheses can be used to avoid
ambiguities: muscle AND (human OR primate); or one of the multi-argument
operators: muscle AND ANY(human, primate).
|
NOT(gorilla)
AND skeletal muscle AND ANY(human, primate) |
Would
include all references dealing with muscles and primates except for
those dealing with gorillas.
|
oxygen
AND ALL("2,3-DPG", erythrocyte)
|
In
multi-argument operators such as ALL, use citation signs to enclose text strings that
contain a comma sign. Without the citation signs, GetARef would, with the given example,
assume that ALL received 3 'arguments': 2 and 3-DPG and erythrocyte. |
AU(Smith)
AND 1985-89 |
TRUE for
references with Smith as one of the authors and published in the period 1985 to
1989 (year ranges are only useful with indexed searches). |
Brown,
B AND <1980 |
TRUE for
references with Smith as an author and published before 1980 (year ranges are
only useful with indexed searches). |
!serotonin
AND !calcium
|
TRUE for
references containing serotonin and calcium and of their synonyms. The
'!' character in front of serotonin and calcium indicates that GetARef
should check the user-defined Thesaurus for synonyms to
these words. If no synonyms are found, GetARef still would search for serotonin and
calcium. |
NEAR(calcium,
phosphate, 5) |
TRUE for
references with calcium and phosphate within 5 characters (the NEAR
operator cannot be used with indexed searches). |
NEAR(calcium,
phosphate) |
Because
no distance was included as a last parameter to the NEAR operator, this expression is TRUE
for references with calcium and phosphate within 10 characters. |
Free text search and Indexed
search
Free text search
When GetARef performs a free text search in a reference
file, the file is literally scanned from beginning to end. The time required to search a
file is proportional to the size of the file. Yet searching is very fast: a file
containging 4-5000 references (4-6 MB) is processed within a second or so.
Indexed search
Indexed search is used in GetARef in the following
contexts:
Creating an index for a reference file takes some time but is comparatively
fast, e.g., a 2.2 MB file can be indexed in less than 5 seconds.
By default, all fields can be searched also with an indexed
search but is's also possible to enable indexed searching for
specific fields.
Multi-file
searching
It's
possible to search a group of files with a single command.
It's easy to define a file group and it may contain files
located on, for instance, a network server. |
|
|
When
a file group has been searched, GetARef reports the result in a special dialog and makes
it possible to open any of the files that belong to the file group. |
|
Search Thesausus
GetARefs Search Thesaurus is simply a list of search
terms organized by group names. Some examples are
Group name |
Members |
primate |
human, monkey, ape, woman,
women |
calcium |
ca++, ca2+ |
serotonin |
5-HT |
GroupInRome |
Defroucht, Zipproni, Zapona,
Amorosa |
acidity |
pH, H+ |
Using examples from table above,
to search for references containing the word calcium by any author belonging to
'group in Rome' one would use the following search
expression:
!calcium AND !GroupInRome
I.e., by inserting '!' in front of a word, GetARef will
check if the entered string can be found in the Search Thesaurus and will always include
the group name itself in the search. |