Advanced Search Engine Operators
The engine supports the following operators (both in the title and the artist field):
A leading plus sign indicates that this word must be present in each row that is returned.
A leading minus sign indicates that this word must not be present in any of the rows that are returned.
- (no operator)
By default (when neither + nor - is specified) the word is optional, but the rows that contain it are rated higher.
- > <
These two operators are used to change a word's contribution to the relevance value that is assigned to a row. The > operator increases the contribution and the < operator decreases it. See the example following this list.
- ( )
Parentheses group words into subexpressions. Parenthesized groups can be nested.
A leading tilde acts as a negation operator, causing the word's contribution to the row's relevance to be negative. This is useful for marking “noise” words. A row containing such a word is rated lower than others, but is not excluded altogether, as it would be with the - operator.
The asterisk serves as the truncation (or wildcard) operator. Unlike the other operators, it should be appended to the word to be affected. Words match if they begin with the word preceding the * operator.
A phrase that is enclosed within double quote (“"”) characters matches only rows that contain the phrase literally, as it was typed. Phrase searching requires only that matches contain exactly the same words as the phrase and in the same order. For example, "test phrase" matches "test, phrase". This is how the previous engine works.
The following examples demonstrate some search strings that use boolean full-text operators:
- da boy
Find rows that contain at least one of the two words.
- +da +boy
Find rows that contain both words.
- +da boy
Find rows that contain the word “da”, but rank rows higher if they also contain “boy”.
- +da –boy
Find rows that contain the word “da” but not “boy”.
- +da ~boy
Find rows that contain the word “da”, but if the row also contains the word “boy”, rate it lower than if row does not. This is “softer” than a search for '+da –boy’, for which the presence of “boy” causes the row not to be returned at all.
- +da +(>boy <ft.)
Find rows that contain the words “da” and “boy”, or “da” and “ft.” (in any order), but rank “boy” higher than “ft.”.
Find rows that contain words such as “da”, “da kid”, “da juiceman”, or “daddy”
- "da boy"
Find rows that contain the exact phrase “da boy” (for example, rows that contain “Da Boy Bake Ft. Jiruo Street, Big Worm” but not “Da Nice Boy”). Note that the " (double quote) characters that enclose the phrase are operator characters that delimit the phrase. They are not the quotation marks that enclose the search string itself.