# Searching

## Keyboard shortcuts

CTRL-F opens or focuses the search interface. Pressing CTRL-F several times toggles search mode. When searching incrementally, pressing CTRL-F makes the program search for the next occurence of the search string.

CTRL-SHIFT-F opens or focuses the search interface, and selects incremental search. When searching incrementally, CTRL-SHIFT-F also finds the next occurence of the search string.

## Search modes

There are three search modes in JabRef.

### Incremental search

When searching incrementally, the program searches immediately each time you press a letter. The status line informs you about the success of the search. Pressing the search shortcut keys causes the program to find the next occurrence of the current search string. If no further occurrences can be found, the status line will notify you about this. Repeating the search again causes the search to restart at the top. The search order always follows the current sorting of your database. To escape an incremental search, press ESC or click "Clear search".

### Normal search

In a normal search, the program searches your database for all occurences of the words in your search string, once you press ENTER. Only entries containing all words will be considered matches. To search for sequences of words, enclose the sequences in double quotes. For instance, the query progress "marine aquaculture" will match entries containing both the word "progress" and the phrase "marine aquaculture". All entries that don't match are hidden, leaving for display the matching entries only (filter mode), or are grayed-out (float mode). To stop displaying the search results, press ESC or click "Clear search".

### Advanced search

In order to search specific fields only and/or include logical operators in the search expression, a special syntax is available in which these can be specified. E.g. to search for entries whose author is "Miller", enter (in any but incremental search mode):

author = miller

Both the field specification and the search term support regular expressions. If the search term contains spaces, enclose it in quotes. Do not use spaces in the field specification! E.g. to search for entries about image processing, type:

title|keywords = "image processing"

You can use "and", "or", "not", and braces as intuitively expected:

(author = miller or title|keywords = "image processing") and not author = brown

The "=" sign is actually a shorthand for "contains". Searching for an exact match is possible using "matches" or "==". Using "!=" tests if the search term is not contained in the field (equivalent to "not ... contains ..."). The selection of field types to search (required, optional, all) is always overruled by the field specification in the search expression. To search for entries of a certain type, a pseudo field called "entrytype" is available:

entrytype = thesis

This finds entries whose type (as displayed in the "Entrytype" column) contains the word "thesis" (which would be "phdthesis" and "mastersthesis"). Another pseudo field "bibtexkey" allows to search for citation keys, e.g.

bibtexkey = miller2005

## Search settings

The Settings button opens a menu that allows to toggle case sensitivity and use of regular expressions in the search, and whether search results should be selected in the table and whether the search words should be highlighted in the editor and the preview.