q=first_name:john+last_name:smith+-company:ibm
You can:
Conditions used in queries vary based on variable type. The following is a generalized list:
Variable Type | parameter in URL | Meaning |
Numeric | field:value | field equals value (null can be used as value) |
field:>value | field greater than value | |
field:>=value | field greater than or equal to value | |
field:<value | field less than value | |
field:<=value | field less than or equal to value | |
field:value1..value2 | field must be between value1 and value2 | |
field:[value1, value2, value3] | field must be one of value1, value2 or value3
No space is required because fields are numeric |
|
Character | field:=value | field equals value using case sensitive match (null can be used as value).
eg first_name:=Bob will find Bob, but not bob |
field:='value' | field equals value using case sensitive match and where value can have spaces
eg first_name:='Bob and Betty' will find Bob and Betty, but not bob And Betty |
|
field:*value* | field contains value where * is a wildcard that marches any characters (case insensitive) before and/or after value.
eg first_name:*bob* will find Bob, bob, bobby, and bebob |
|
field:value | field is like the value using case insensitive search
eg first_name:bob will find Bob, bob but not bobby |
|
field:'value' | field is like the value using case insensitive search where value can have spaces
eg first_name:'bob 5' will find Bob 5, bob 5 but not bobby |
|
field:[value1, value2, value3] | field is one of value1 or value2, or value3 (case insensitive).
eg first_name:[bob, ted, alice] will find bob, Bob, ted, tED, AliCe note: a space is required after each comma |
|
field:[value1*, value2*, value3] | field is one of value1 or value2, or value3* (case insensitive and value3 starts with)
eg first_name:[bob, ted, ale*] will find bob, Bob, ted, alex, alecia, alexandra note: a space is required after each comma |
|
field:=[value1, value2, value3] | field is one of value1 or value2, or value3 (case sensitive).
eg first_name:=[Bob, Ted, alice] will find Bob, Ted, Alice, bur not bob, ted or alice |
|
field:[value1, value2, value3] | field is like one value1, value2, or value3 (case insensitive). This uses postgres 'ilike' comparator
eg first_name:[Bob, Ted, alice] will find Bob, Ted, Alice, bob, ted, alice, teddy, bobbie, boBBie, fested ... note: a space is required after each comma |
|
search:["value1", "value2"] | does a postgres text search on the data in the endpoint.
eg search:["Bob", "art"] will find Bob, Bobbie, Art and Arts Management Systems (searches in all name and company fields"). |
|
Boolean | field:value | field equals, which is either true, false or null |
Date | field:value | field equals value, value specifed in yyyy-mm-dd format, or null |
field:>value | field greater than value in yyyy-mm-dd format | |
field:>=value | field greater than or equal to value in yyyy-mm-dd format | |
field:<value | field less than value in yyyy-mm-dd format | |
field:<=value | field less than or equal to value in yyyy-mm-dd format | |
field:value1..value2 | field must be between value1 (yyyy-mm-dd format) and value2 (yyyy-mm-dd format) | |
field:[value1, value2, value3] | field must be one of value1 (yyyy-mm-dd format), value2 (yyyy-mm-dd format) or value3 (yyyy-mm-dd format) |
These are special de-normalized lists of record connections. Examples of these fields are 'bought for plays', 'belongs to mail lists', 'associated with tags' where the specific record can be associated with multiple other records. A patron can belong to many mail lists. A play, donation campaign, or patron can be associated with many tags and searching for records with these markers can provide access to an arbitrary group of data, such as searching for all events with a tag.
Packed Lists | field:[value1, value2, value3] | field is one of value1, value2 or value3 where all values are internal record numbers that you would have found by some other means.
eg tag_ids:[5,6,7] will find all records with tag ids of 5, 6 or 7 |
field:=[value1, value2, value3] | field contains all seq #s of value1, value2 or value3 where all values are internal record numbers that you would have found by some other means.
eg tag_ids:=[5,6,7] will find all records marked with tag ids of 5, 6 and 7 |