The Boolean Filter is a keyword filtering mechanism built by the user. The Boolean operators below are used to create a list of rules for the CONTENT and SUMMARY fields of a result. The Boolean Filter describes what must, what must NOT and in what order words must be in to be labeled as true or shown in the results.
The DigitalStakeout Scout product has several Boolean filtering fields. You can use a single word or phrase, or enter an extremely complex Boolean filter formula. The following logic is available as an input in any field in the DigitalStakeout product where the helper text in the input says "Boolean filter."
Note: All Operators are evaluated in a case-insensitive manner, i.e.: dog will match on DOG, dog and Dog.
Positive and Negative Operators
Understanding positive and negative operators is the first step in creating a Boolean rule search. Any word or phrase to be included in the results is a positive operator. Any word or phrase to be excluded in the results is a negative operator.
Using the word party or birthday party in your power rule search will include them in search results. The word or phrase in this example is a positive operator.
Using the word -party or -birthday in your Boolean rule search will exclude them in search results. Any word or phrase with a minus (-) symbol in front, as in this example, is a negative operator.
A single Boolean rule search can support up to 30 positive operators, and up to 50 negative operators subject to the restrictions documented henceforth.
General Search, AND-ing Terms, OR-ing Terms, Negating Terms, Grouping and Exact Match
General Search
Single word entry would match activities with that single word in the text body. For example, the following Boolean Search rule would match activities with ‘happy’ in the text body.
- happy
ANDing terms with a white space
Adding another keyword is the same as adding another requirement for finding matches. For example, this rule would only match activities where both ‘happy’ AND ‘party’ were present in the text, in either order – this operates as Boolean AND logic.
- happy party
Note: If the word 'AND' is placed in the rule instead of a white space, it will be rejected in the query string.
ORing terms with upper-case OR
Some situations call for Boolean OR logic.
- happy OR party
Note: The OR operator must be upper-case and a lower-case ‘or’ will be treated as a regular keyword.
Negating Terms
Some scenarios might call for excluding results with certain keywords (a Boolean NOT logic). For example, activities with ‘happy’, but excluding any with ‘birthday’ in the text.
- happy -birthday
Note: Negating terms should be conducted using the - sign as opposed to the word NOT.
Grouping
These types of logic can be combined using grouping with parentheses, and expanded to much more complex queries.
- (happy OR party) (holiday OR house) -(birthday OR democratic OR republican)
Exact match
To match an exact phrase enclose it within quotations.
- "happy birthday"
Putting it all together
The above operators can be combined with text filters for a complex query. A query string looking for customer service issues or problem but not those that contain the work fix would be illustrated as:
- ((("customer support") (issue OR problem)) (-"is fixed"))
In this query the terms customer support issue or customer support problem would be returned as results but any statements like "my customer support problem is fixed" or "my customer support issue is fixed" would be excluded. Therefore statements like "my customer support issue is not fixed" or the customer support problem is not fixed" would be included in the results for customer resolution.
Parameters
The the following logic is supporting input in any field in the DigitalStakeout product where the helper text in the input says "Boolean filter."
Boolean Operators
- +"term" = term must be present
- -"term" = term must not be present, also works with NOT "term"
- +/- must not have space between it and the "term"
Proximity Search
- 2 search terms MAX
- Both terms must be included in quotes, IE "black dog"
- Must include ~#, where # is the word boundary
- Example: "dog hurt"~4 would return every instance where dog and hurt were within 4 words of each
- other
Wildcards
- ? within a word will replace one character
- * can be used for expansion of partial words
Example: *part* will bring back content with the words ‘party’ or ‘department’ or ‘parted’
NOTE: Wildcards can also be used as the first or last character of a word.
Fuzziness:
- Looks for misspellings
- Syntax: ~#, where # defaults to 2 when no number is used and can be changed to 1. NOTE:Documentation does not specify a max number
- This covers anywhere within the word.
Restrictions:
Boolean searching as covered here is not restricted on +/- operators. Instead it is limited to 16512 bytes as allocated in the database.