Funnelback Query Language Help

Introduction

This document gives an overview of how to perform advanced searches in Funnelback using different query operators.

Sections

Simple examples

Simple query

This is just a simple sequence of words - described in the simple search document.

julius caesar rome

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"

Metadata search

Documents may contain metadata, including the document's author, title and when it was created. Funnelback can query this information using the syntax:

class:query

where class is the metadata class class you want to query (these are a single letter defined by the Funnelback administrator; standard classes include "a" for author, "t" for title).

The query:

t:capitol

locates documents containing the word capitol within the metadata field corresponding to the metadata class "t" (ie. the documents' title.)

Disjunction 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.

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).

Truncation operator

The truncation operator matches words that contain the query term.

anti*

This example pattern matches all words starting with anti, such as antium and antioch. Be careful, there are almost always more matching words than you expect.

The truncation operator can appear at the left, at the right or both, but NOT in the middle of the string.

*och*

This example pattern matches all words containing the string och, such as antioch and rochester.

Date Query

Date queries constrain the result set to documents that were modified/created during a specified time period. For date querying purposes, Funnelback only records one date per document. It will look for the date modified, the date created and the HTTP server's last modified date (in that order).

d<1jan1600

The d<1jan1600 query returns documents that were modified/created before the 1st of January 1600.

Stemming

By default Funnelback does not stem words either in the query or in the index. You can specify stemming by appending a cross-hatch ('#') to each query word you wish to stem. For example, the query "economic# policy#" will match:

Complex examples

Mixed operators

The query:

t:`war* castle`

mixes the following operators

See also