pybliographic offers a quite powerful seraching mechanism. To open the search dialog, click on Edit->Search in the menu. The dialog that appears (see Figure 1-3) displays a search form at the top.
With a simple search, you can select the field that will be searched and you can specify a regular expression to be matched. - any field - means that all the existing fields will be searched. This is usually more time-consuming.
An advanced search is an expression that looks like:
has('author','name') | -has('title','test')
Such an expression means: select the entries where the field author matches name, or (symbol |) where the field title does not match test. The boolean and is noted &.
There are other commands available for this type of search:
has_key(keyname) searches on a key name.
has_type(typename) searches for entries of a given type name.
any_has(value) searches for the given value in all the fields of an entry.
before(field, year, month, day) searches for entries where the specified date field is older than the specified date.
after(field, year, month, day)searches for entries where the specified date field is younger than the specified date.
After a search, only the selected items are displayed in the main window. It makes it convenient to select a specific author, and then browse its publications for example.
In addition, the results of all the searches are kept in the tree located below the search form. Therefore, a new search can be a refinement of a previous one. If you select the tree item corresponding for example to all the articles written by a certain Nostradamus, you'll be able to select only those whose title contains the word eclipse.
Right-clicking in this tree pops up a contextual menu that allows you to remove unuseful searches.