Filters / Searching

The filter (search) function accepts two types of filter string which can be edited in the search box:

To run the search click 'Search' or press the 'Enter' key while typing; to add a new line hold the 'Control' (or 'Command' for MacOS) key and press the 'Enter' key.


Simple search format (filters)

Simple filter strings, similar to Google searches, are easy to enter manually. These are supported for basic searching and can therefore be quite useful (some rarely used functions are also only available this way).

Basic search: Words typed in the filter field are matched against any part of the record titles (only). This is very good for quickly retrieving records where you know what words are likely to appear in the title and the set of results will be small. However it doesn't allow discrimination and filtering of specific sets of records out of a large or complex set of records in a complete Heurist database.

Quick search: the downwards arrow to the right of the filter field allows one to build a more targeted search by simply choosing from a set of dropdowns for record type, field, content, negation and sorting.

Advanced search is a more complete search builder which allows one to add a series of queries to the search field. You will also see queries constructed by the search system, which are generally too complex to be entered by hand.

Facet search: Last but not least, faceted searching allows one to set up searches which drill down through content following links between records and the attributes of the records encountered.

All search types can be saved as Saved Filters in the lefthand (navigation) panel using the Save Filter button.

What it does

Searching or filtering the database allows for precisely targeted filters which will retreive precise subsets of the database for specific tasks - analysis, indexing collections, publishing a web page etc.

Sorting can be by ID, title (default), by web address, by date added or modified, by any of the data fields or by popularity (star rating).

How to use it

Click on the down arrow to the right of the Filter. You may then click on the link in the Quick Search dropdown to go to the Advanced Search popup. The Advanced Search popup constructs search instructions for you as you select from the pulldown values or type search terms in the fields. It displays the search instructions in the Search field at the top of the popup. You can also type or edit these instructions directly in the Search field on the popup or the Search field on the main page - all Search fields are functionally equivalent:

General Principles

By default, Heurist searches are partial string matches and require ALL search terms to be present:

Special Data Fields

To match values in a particular field in the data, specify the field followed by the search term:

title:xxx Search for records with xxx in the title.
This is also the default search if no field is specified.
type:xxx Only search records of the given type.
The parameter xxx may describe the record type by name, for example type:book or type:"web bookmark"; or by numerical identifier, for example type:3 (journal article).
tag:xxx Search for records tagged with the given tag xxx.
Note that this search will also match records tagged with a tag that begins with the search term; for example, searching for tag:time will find records tagged with time and timemap, but not maritime or multimedia. Using equals instead will ONLY match tags which are the specified word, for example tag=time will not match the tag timemap.
user:xxx Search for records which have been bookmarked by the specified user.
The parameter xxx may be a user's name, for example user:"Ian Johnson"; or a user ID, for example user:224.
addedby:xxx Search for records which have been added by the specified user.
The parameter xxx may be a user's name, for example user:"Ian Johnson"; or a user ID, for example user:224.
visibility:xxx Search for records which have the visibility set to a specific value.
The values accepted are public, pending, viewable, hidden, for example {"access":"public"}. viewable indicates viewable by any logged-in user, hidden indicates visible only to the owner. Use -public to find all records which are not publicly visible. You can also use simple searches such as vt:public or vt:hiden but negation is not supported.
url:xxx Search for records with xxx anywhere in the URL.
For example, url:google will find records with URL www.google.com, www.google.com.au and en.wikipedia.org/wiki/Google.
notes:xxx Search for records with xxx anywhere in your private notes (if searching "My Resources") or the information scratchpad (if searching "All Resources").
before:xxx
after:xxx
date:xxx modified:xxx
Search for records that were last modified before / after / on the given date. The date may be specified as an ISO format date (e.g. before:2007-10-28), using human-readable date formats (e.g. after:"3 June 2006"), or as a relative date (e.g. date:"last Tuesday" or after:"60 days ago" or after:"today").
It is also possible to specify the date down to one-second precision (e.g. before:"12.30pm November 22" or date="1945-07-16 05:29:45"). Additionally, operators such as modified>2001-09-11, modified<yesterday may be used.
added:xxx
Search for records that were added before / after / on the given date. The date may be specified as above. For example, added>yesterday.

Data Fields

Data fields vary between record types, however different record types may (and often do) share some of the same fields.
 
all:xxx Search for records containing xxx in any of the data fields.
field:abc:xxx
field:abc:
field:xxx
fc:abc:xxx
f:abc:xxx
Search for records in public data field abc containing the string xxx.
Search for records that have any value in field abc. -field:abc: searches for records with no values in the field.
Search for records that have value xxx in any field. -field:xxx: searches for records with value xxx in no fields.
Search for records that have a count of xxx values in field abc. Also use fc:abc:>xxx or fc:abc:xxx<>yyy for ranges.
"field" can be shortened to "f". The field identifier abc may be the name of the field, for example field:"AuthorEditor":Hill, or the field's numerical identifier, field:196:Hill.
The numerical identifier is preferred, since the name must be the base field name which is often difficult to determine.
=, < and > operators may be used, e.g. f:123=456, f:"date added"<yesterday.
Less than and greater than can also be used with text fields, so the following will retrieve all records with a name/title field (field 1) starting with "B" f:1>B f:1<C
Note that the same field eg. 196 (Author/Editor), may be used in different record types and may appear to be labeled differently in different record types; for example, AuthorEditor may be called Author for Journal Articles and Editor for Journals.

Geographic search

Searches for records with geographic objects use the latitude and longitude search terms. These may be used in conjunction with the =, < and > modifiers.
latitude:y Search for records with a geographic object that includes the given latitude
longitude:x Search for records with a geographic object that includes the given longitude
latitude<y Search for records with a geographic object that lies entirely south of the given latitude
latitude>y Search for records with a geographic object that lies entirely north of the given latitude
longitude<x Search for records with a geographic object that lies entirely west of the given longitude
longitude>x Search for records with a geographic object that lies entirely east of the given longitude
latitude=y Search for records with a geographic point with exactly the given latitude
longitude=x Search for records with a geographic point with exactly the given longitude

Sorting

sortby:xxx where xxx can be "id", "url", "m" (modified), "a" (added), "t" (title), "rt" (record type) "r" (rating) and "p" (popularity) (the full words can also be used); " rating" is the user's personal rating of the record (nubmer of stars), "popularity" indicates how many times each record has been bookmarked; or sortby:field:abc / sortby:field:abc:m
  • abc is the numerical identifier of a field (internally, bib_detail.bdt_id). Note that field can be abbreviated to f
  • the optional m (multiple) parameter causes records to be displayed in more than one location in the list if  the sort field has more than one value.
    For example, the normal behaviour where there are multiple authors is to display the record once, alphabetically sorted by first author. If m is specified, the record will be displayed once for each of the authors in the appropriate alphabetical locations.

Advanced functions

Retrieving specific records

The Heurist search engine can be asked to retrieve a specific set of records by supplying their Heurist IDs:

ids:xxx where xxx is a comma-separated list of internal record IDs (the unique identifier for each record in Heurist)
Retrieving relationships and pointers

Retrieve the set of records which are pointed to within the public information of a record (eg. all the authors listed for a paper, all the projects listed for an organisation), which point to a record in their public information, or which are connected with a record by relationship records:

linkedfrom:xxx set of records which have pointers (in their public information) TO this record (this includes all relationship records in which the record is involved)
linked_to:xxx set of records which are pointed to (in the public information) BY this record
links:xxx set of records which have any links (either to other objects or from other objects)
related_to:xxx set of related records - that is, records which have relationships (relationship records) with this record
relatedfrom:xxx set of relationship records plus the records involved in those relationships, for this record (that is, all the related records, plus their relationships)
Search URL parameters

The Advanced Search window, and the search field, are simply convenient ways of entering information which is converted into a search URL such as /q=tag:Favourites&w=bookmark.

Search URLs can be entered directly, for example if one wishes to construct a hyperlink in a web page which will bring up a particualr Heurist search. There is a fairly straightforward translation from search string to URL which can be worked out by doing some searches and comparing the string with the URL. The following parameters, though, are less obvious, and are listed here for those who wish to use this feature.

  w = bookmark | biblio | all bookmark means restrict search to your personal bookmark data; biblio means restrict search to public record data; allmeans to search both
  s = a | m | t | u Sort by: a = Added date; m = Modified date; t = Title; u = URL
  ver = 1 Records the search version, no function at present but may be used later to trap direct references which use an outdated format
  cf = 1 Clear the search fields when the search results are displayed (if omitted the search fields continue to display the search criteria). Clearing the fields is useful when one will most likely immediately type a different search, as in the case of the default Favourites search which is run when Heurist is loaded.

Further examples

If multiple search terms are provided, their effect is ANDed - Heurist returns only the records matching all the search terms.
For example, searching tag:timelines tag:mapping matches only records that have been marked with the tag timelines and the tag mapping.

Entire phrases can be matched by enclosing them in double-quotes. For example, searching "sydney university" will match all records with a title containing "sydney university" in that order, as a complete phrase; whereas searching sydney university (without the double-quotes) will match records with both sydney and university, anywhere in the title, such as "University of New South Wales, Sydney".

To find records matching either of two search terms, add an uppercase OR between the terms. For example, searching tag:timelines OR tag:mapping matches records that have been marked with either of the timelines or mapping tags.

Resources matching a term may be omitted from the results by preceding the term with a minus sign. For example, searching university -url:usyd.edu.au matches any record which has university in the title, and does not have usyd.edu.au in the URL.


JSon format (advanced searching capabilities)

The JSon format is not designed for manual entry. This format is a more recent filter format designed for internal use to support complex searches such as facet filters and rulesets. If you do wish to edit the JSon searches use the filter builder to get started and then edit the result incrementally. The JSon format is enclosed in [ ] and consists of a series of comma-separated specifications in { } giving a tag (generally a field ID, field name or special indicator) followed by a colon ( : ) then a value or values. Tags and values are generally enclosed in double quotes ( " ). Values may be repeated within a specification as in [{"t":"107,95"},{"f:36":"1275,3426"}]