Query syntax guide

By default, queries are treated as plain text. Multiple terms are combined as a conjunction (all terms must match) and the query is automatically expanded to improve recall. For example, smartcard java requires both terms to appear, but documents where they appear together as the exact phrase "smartcard java" are ranked higher. If no documents match the original terms, the query falls back to prefix matching, so smart can also match smartcard.

The text search fields also support an advanced query syntax described below. As soon as any advanced operator is used, the query is passed to the search engine as-is, without any automatic expansion or boosting.


Boolean operators

Use AND, OR to combine terms explicitly. AND takes precedence over OR.

smartcard AND java
TPM OR firmware
(card OR smartcard) AND java

Required and excluded terms

Prefix a term with + to require it or - to exclude it from results. These can be mixed freely. The + and - operators are sufficient on their own to express any boolean query. For instance, x AND y OR z can equivalently be written as (+x +y) z.

+secure -network
+smartcard +java -applet

Phrase search

Wrap terms in double quotes to require them to appear as an exact consecutive sequence.

"secure network"

Phrase slop

Append ~N to a phrase to allow up to N extra words between the quoted terms. For example, "hardware module"~1 matches "hardware security module".

"hardware module"~1
"red linux"~2

Phrase prefix

Append * (outside the quotes) to treat the last term in a phrase as a prefix — matches any word that starts with it.

"network access con"*

Field targeting

Each search input already targets its own field by default. Field prefixes are only needed if you want to cross-reference multiple fields from a single box.

Available fields: name, cert_id, manufacturer, cert_lab, scheme, category, eal, is_active (true/false), not_valid_before and not_valid_after (RFC 3339 dates)

manufacturer:qualcomm
manufacturer:apple AND cert_id:ANSSI
scheme:DE AND eal:EAL4+
is_active:true AND manufacturer:qualcomm
not_valid_before:[2020-01-01T00:00:00Z TO 2023-01-01T00:00:00Z}

Set terms

Match a field against a set of values using the IN operator. This is more efficient than writing multiple OR clauses.

IN [Apple Qualcomm Samsung]

Range search

Specify an inclusive ([, ]) or exclusive ({, }) range with TO between bounds. Works on text fields (lexicographic order) and date fields (RFC 3339).

not_valid_before:[2020-01-01T00:00:00Z TO 2023-01-01T00:00:00Z}
[a TO m}

Regular expressions

Wrap a pattern in forward slashes to use a regex. The regex is matched against individual tokens, not the full field value.

/qual.*/

Boost

Append ^N to a term or phrase to multiply its relevance score. Higher boost values make a match rank higher. Negative boosts are not allowed.

"TPM"^3 OR smartcard
"secure element"^2 OR "security module"