Search query language help

Introduction

This document gives an overview of how to perform advanced searches in Funnelback using different query operators. It lists the available query types and gives an example for each one.

Simple query

This is just a simple sequence of words.

julius caesar rome

A full answer to this query would show pages that contain the terms julius, caesar and rome. Partially-matching answers would only need to contain one of these terms.

Phrase operator

A phrase query can be specified by putting quote characters ("") around your query words. Using the phrase operator specifies that the component words must appear consecutively and in the order specified. Note that intervening punctuation, HTML tags etc will be ignored.

"hail caesar"

Answers to this query will contain the exact phrase "hail caesar". No partial matches will occur.

Dysjunction (OR) operator

The dysjunction operator acts like an OR in a Boolean language. The results will contain any document that has at least one of the query terms. For example:

[mighty brave] army

A full answer to this query will include the word army and one or more of mighty or brave.

Negation operator

The negation operator excludes all documents that contain the negated query from the fully matching results.

caesar !brutus

A full answer to this query will include the word caesar but no occurrence of the word brutus. Unlike the mandatory exclusion operator (see below), partial results presented in subsequent result tiers may contain the word brutus.

Mandatory exclusion operator

The mandatory exclusion operator excludes all documents that contain the negated query from all results. This is similar to the NOT operator in a Boolean language.

caesar -antony

A full answer to this query will include the word caesar but no occurrence of the word antony. Unlike the negation operator (see above), no results will contain the word antony in the indexable part of the text. The partial results are those which satisfy the mandatory constraint (no antony) but which do not contain caesar.

Mandatory inclusion operator

The mandatory inclusion operator will return results that all have the included terms.

antony +cleopatra

A full answer to this query will include the words antony and cleopatra. Every result will contain the word cleopatra.

Scoped mandatory inclusion operator (scoped AND)

Scoped operators cause the index to be scoped and don't count as query parameters. The scoping reduces the index to include only documents containing the scoped items, then the rest of the query is run on the scoped index. This means that the scoped operators don't count towards partial matches and that other query parameters are required for results to be returned as the scoping just defines the overall set of pages that can be included in a result set.

rome octavius |antony |cleopatra 

A full answer to this query will include all four words rome. Every result will contain the word antony and cleopatra. A partial match with include antony and cleopatra, and either rome or octavius.

Scoped mandatory inclusion with dysjunction operator (OR with scoped AND)

Similar to the scoped AND, this pre-scopes the index to include only items that match match a set of ORed terms.

rome octavius |[antony cleopatra]

A full answer to this query will include rome and octavius and one or both of antony and cleopatra. Every result will contain the word antony or cleopatra. A partial match with include antony and/or cleopatra, and either rome or octavius.

Near (proximity) operator

The near operator (backquotes) requires that the query words appear, in any order, within 15 words of each other. The Funnelback administrator can adjust this limit to any number of words.

`army march`

The full answer to this query will be those documents that include the word army within 15 words of march (in any order).

Up-weight operator

The up-weight operator (tilde) will increase the score of documents that match the element without making this element a constraint. For example:

computer science course ~concurrency 

The full answer to this query will be those documents that include the words computer,science and course, however documents that have the term concurrency will be given higher scores.

A weighting can be set by appending the weight using a carat operator. For example:

computer science course ~concurrency^0.9 

From Squiz Funnelback documentation

Back to top