BibDesk Advanced Search Options

For normal (non-similarity-based) queries, Search Kit discerns the type of query--Boolean, prefix, phrase, and so on--from the syntax of the query itself. Moreover, Search Kit supports multiple query types within a single search. For example, the following query includes Boolean, prefix, and suffix searching:

`appl* OR *ing'

This query will return documents containing words that begin with "appl" as well as documents that contain words that end with "ing".

For similarity searches, specified with the kSKSearchOptionFindSimilar flag in the inSearchOptions parameter, SKSearchCreate ignores all query operators.

The query operators that SKSearchCreate recognizes for non-similarity searching are:

Operator

Meaning

AND

Boolean AND

&

Boolean AND

<space>

Boolean AND by default when no other operator is present

OR

Boolean inclusive OR

|

Boolean inclusive OR

NO

Boolean NOT

!

Boolean NOT

*

Wildcard for prefix or suffix; surround term with wildcard characters for substring search (default in BibDesk)

(

Begin logical grouping

)

End logical grouping

The operators AND, OR, and NOT are case sensitive.

Search Kit performs Unicode normalization on query strings and on the text placed into indexes. It uses Unicode Normalization Form KC (NFKC, compatibility decomposition followed by canonical composition) as documented in Unicode Standard Annex #15. For example, the a-grave character, `à', can be written as the two Unicode characters (0x0061, 0x0300) or as the single Unicode character 0x00E0. Search Kit will normalize (0x0061, 0x0300) to 0x00E0. For more information on Unicode normalization, see http://unicode.org/reports/tr15.

Search Kit further normalizes query strings and indexes by stripping diacritical marks and by forcing characters to lowercase. For example, Search Kit normalizes each of the following characters to `a': `a', `à', `A', and `À'.