RBAi Scholar · Search guide

How to search
RBAi Scholar.

There are three ways to search the same 11.2 million records, and they are good at different things. Picking the wrong one is the commonest reason a search disappoints.

This page tells you which to use, and states exactly where Boolean operators are honoured and where they are not. The short version: Boolean operators work in keyword mode only. Quotation marks work everywhere.

1. The three modes

Comparison of the three RBAi Scholar retrieval modes
ModeWhat it matchesBest forBoolean
Semantic
mode: "semantic"
The meaning of your sentence. Your words do not have to be the author's words. Surveying a topic when you do not know the vocabulary the literature uses. No
Keyword
mode: "keyword"
Literal terms, over a full-text index, ranked by BM25. A string you know exactly: a gene symbol, a variant, an accession, a trial ID. Yes
Hybrid
semantic + "quotes"
Meaning, restricted to records that contain the string you quoted. Hunting one particular paper you know something about. No
Hybrid is not a separate mode parameter. You reach it by putting quotation marks in a semantic query. There is nothing else to set.

2. Which one do I want?

If you are trying to…UseType something like
Find out what is known about a topicSemanticwhat links impaired mitochondrial function to dopaminergic neuron loss?
Find papers on a specific gene, variant or accessionKeywordTP53 AND apoptosis NOT mouse
Find one paper you half-rememberHybridregistry study of resection versus "TACE" for large liver tumours
Exclude a whole subject areaKeywordalpha-synuclein -zebrafish
Search for an exact multi-word nameEither"constructive episodic simulation hypothesis"
Get a broad reading list for a reviewSemanticA full sentence describing the question, not keywords.

A useful rule of thumb: if an empty result page would surprise you, use keyword mode. Keyword mode tells you plainly that nothing matched your terms. Semantic mode always returns its closest guesses, which is what you want when exploring and not what you want when verifying.

3. Where Boolean operators work

This is the part worth reading twice, because the two modes differ and the difference is not guessable.

SyntaxKeyword modeSemantic / hybridMeaning
ANDHonouredOrdinary wordBoth terms must appear. Also the default between bare terms.
ORHonouredOrdinary wordEither term may appear.
NOTHonouredOrdinary wordExclude records containing the term.
-termHonouredOrdinary wordShorthand for NOT term.
"phrase"HonouredHonouredWords must be adjacent and in order. In semantic mode it also makes the phrase mandatory.
( )Not supportedNot supportedGrouping is unavailable in both modes. See Known limits.

The trap to avoid

In semantic or hybrid mode, this does not do what it looks like:

"TP53" OR "BRCA1" in breast cancer

Because OR is not an operator here, both quoted strings are treated as requirements. The search returns records containing TP53 and BRCA1 together — the opposite of what you asked for — and the word OR is encoded as part of your sentence. The API now returns a notice saying so, but the simpler fix is to switch modes:

{ "mode": "keyword", "query": "TP53 OR BRCA1" }
Multiple quoted strings in a semantic query are always combined with AND. Quoting two things means “both of these”, never “either of these”.

4. Quoted phrases, and what adjacency means

A quoted phrase of several words requires those words to appear next to each other, in that order — not merely somewhere in the same record.

For "alpha synuclein aggregation":

Record containsAll words present?Matches?
…alpha synuclein aggregation in neurons…YesYes — adjacent, in order
…aggregation of alpha synuclein…YesNo — wrong order
…alpha tubulin … synuclein … aggregation…YesNo — not adjacent

This is why quoting a phrase is far more selective than quoting each word separately. "Safe Return" would be bounded at roughly 140,000 records by its commonest word, but as an adjacent phrase it matches 131.

Quoting is also how you defend a string the language model would otherwise dissolve. A rare identifier such as R175H or PD173074 is split into fragments by the encoder and averaged with every other word in the record, so the one string that makes a paper unique gets diluted. Quoting it makes it a requirement instead.

5. Hybrid search: a question with a required string

Write a normal question and put quotation marks around the part that must appear:

role of "MDM2" in stabilising mutant p53

Two things then happen at once, and the second surprises people:

  1. The quoted string becomes a hard requirement. Records that do not contain MDM2 are not considered at all.
  2. The quoted words are still part of the meaning search. Only the quotation marks are removed before your sentence is encoded. The words stay exactly where you put them.

So the text encoded for the example above is:

role of MDM2 in stabilising mutant p53

The marked string therefore does double duty: it narrows the candidates and contributes to the meaning. Quoting a term does not remove it from the question.

Where you put the quoted term in the sentence makes no measurable difference to the results, because the requirement is evaluated without reference to position.

6. Why a search is sometimes refused

Two guards will decline a query rather than answer it slowly. Both return a clear message with the measured number, not a generic failure.

A quoted string that is too common

Requiring a string that appears in more than 20,000 records does not narrow the search usefully, and it makes the search slow. Requiring "ARS", which is in about 38,000 records, is declined with that figure and a suggestion.

What to do: quote something rarer, or quote a longer phrase. A multi-word phrase is much more selective than its commonest word, so "aminoacyl-tRNA synthetase" succeeds where "ARS" is refused.

A keyword expression that matches too much

Ranking cost grows with the size of the match set, so a keyword expression estimated to match more than 25,000 records is declined. Add a term, use AND instead of OR, or quote a phrase.

A refusal is not a failure and is not worth retrying. It arrives as HTTP 400 with a message you can act on. A genuine outage arrives as 503 with retryable: true. The two are now reliably distinguishable.

7. Worked examples

GoalQueryMode
Topic survey, vocabulary unknownhow does impaired mitochondrial function contribute to dopaminergic neuron loss?semantic
One gene, excluding animal workBRCA1 AND "triple negative breast cancer" NOT mousekeyword
A specific variantp.Gly12Asp OR c.35G>Akeyword
A dataset accessionGSE135222keyword
A paper you half-remembertranscriptomic reanalysis of "GSE135222" linking early checkpoint blockade failure to exhausted T cellshybrid
A named hypothesisevidence for the "constructive episodic simulation hypothesis" in older adultshybrid
A trialNCT04280705keyword

Two things not to do

  • Do not send a full sentence to keyword mode. Bare terms are combined with AND, so a twenty-word question demands that one record contain all twenty words. Almost nothing will.
  • Do not send bare keywords to semantic mode. The encoder is built for sentences; three disconnected nouns give it very little meaning to work with.

8. What the API tells you about your query

Every search reports how it interpreted what you sent, so you never have to guess. A semantic response includes:

{
  "mode": "semantic",
  "semantic_query": {
    "hybrid": true,
    "encoded": "role of MDM2 in stabilising mutant p53",
    "required_phrases": ["MDM2"],
    "tsquery": "'MDM2'"
  },
  "notices": [
    { "code": "hybrid_search_active",
      "message": "Records must contain \"MDM2\". The rest of the question is matched on meaning." }
  ]
}

encoded is the exact text that went to the language model. required_phrases is what the records had to contain. Keyword mode reports the parsed expression in keyword_query in the same way.

notices is advisory and never fatal. The one worth watching for is boolean_operators_not_parsed_in_semantic_mode, which means you typed AND, OR or NOT somewhere it has no effect.

The web interface, the REST API and the MCP server all behave identically. The same query gives the same interpretation and the same ranking through every one of them.

9. Known limits

Stated here rather than left to be discovered:

  • No parentheses. Grouping is unsupported in both modes. a OR b AND c is evaluated left to right under PostgreSQL's precedence, which may not be what you intended. Split the search into two queries instead.
  • Boolean operators do nothing in semantic and hybrid mode. They are encoded as ordinary words. Use keyword mode.
  • A quoted phrase containing a common short word such as of or the may behave unexpectedly, because those words are dropped from the index before adjacency is checked.
  • Case is ignored for matching, apart from the uppercase operator keywords in keyword mode.
  • Semantic mode never returns nothing. It returns its closest guesses. Use keyword mode when you need to know that no record matched.

Related

  • RBAi Scholar — the search interface, coverage and API access.
  • RBAi MCP Cloud — using the corpus from Claude, Cursor or VS Code.