Brainspell developers

Roberto Toro Project, development, design and mark-up
Yves Burnod Beta testing
STPo Prototype design and mark-up
Mathieu Richardoz Prototype development


Cognitive Atlas
Institut Pasteur
The Neurobureau

Advanced search in brainspell

Brainspell allows for complex search queries, by using the implementation of Lucene included in the Zend Framework (a detailed description of the query language syntax is available here).

Documents can be searched using a single word, such as amygdala or intelligence, or a group of words surrounded by double quotes, such as "intelligence quotient".

A search can be restricted to a specific field, such as Title:"Temporal lobe". The available fields are Title, Authors, Year, Journal and Abstract.

A single character can be replaced by a wildcard using the "?" symbol. For example, te?s will match "text" or "test". For multiple characters, use the "*" symbol. For example, *wr?t* will match "write", "wrote", "written", "rewrote", etc.

A search can be restricted to a specific range, such as Year:[2000 TO 2005]. Square brackets "[ ]" will include the boundaries of the range, whereas curly brackets "{ }" will exclude them.

Fuzzy searches, based on the Levenshtein distance, are also available using the "~" modifier. For example, the search roam~ will match "foam" and "roams". An optional parameter can be used to specify the level of required similarity, from 0 (low similarity) to 1 (high similarity), for example, roam~0.8 (by default this value is 0.5). To prevent performance downgrades, the number of terms matched by a fuzzy search is limited to 1024.

It is possible to specify the maximum distance between terms in a search by adding a tilde, "~", symbol at the end of the phrase. For example, "attention autism"~10 will return documents where "attention" and "autism" are present within 10 words of each other.

The relevance of a term can be boosted using the caret, "^", symbol followed by a boost factor (a positive number, 1 by default) at the end of the search term. The higher the boost factor, the more relevant the term will be. For example, attention^3 autism will make documents with the term "attention" appear more relevant. You can also boost phrases like "Superior temporal sulcus"^3 "Inferior temporal sulcus".

The boolean operators "AND", "OR", and "NOT" are supported. It is possible to use the operators "+" and "-" instead, but both styles of operator cannot be mixed. By default, all terms in a search are joined using the "OR" operator.

It is possible to use parentheses to group clauses to form sub queries. This can be used to control the precedence of boolean logic operators for a query or mix different boolean query styles, such as +("short term" OR "long term") +memory.

Parentheses can also be used to group multiple clauses to a single field. For example,

Title:(+connectivity +"attention deficit")

Will search for a title containing both the word "connectivity" and the phrase "attention deficit".

The following set of special characters is reserved:

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \

To include them in a search term, use the "\" character before. For example to search for (1+1):2 use the query \(1\+1\)\:2