Splunk® Enterprise

Search Manual

Download manual as PDF

Download topic as PDF

Boolean expressions

The Splunk search processing language (SPL) supports the Boolean operators: AND, OR, and NOT.

The operators must be capitalized.

The AND operator is always implied between terms, that is: web error is the same as web AND error. So unless you want to include it for clarity reasons, you should not need to specify the AND operator.

The NOT operator only applies to the term immediately following NOT. To apply to multiple terms, you must enclose the terms in parenthesis.

Inclusion is generally better than exclusion. Searching for "access denied" will yield faster results than NOT "access granted".

Order of evaluation

Splunk software evaluates Boolean expressions in the following order:

1. Expressions within parentheses.

2. NOT clauses.

3. OR clauses.

4. AND clauses.


The following examples show how Splunk software processes Boolean expressions.

Consider the following search.

A=1 AND B=2 OR C=3

This is the same as specifying A=1 B=2 OR C=3

When you specify values without parenthesis, this search is processed as

A=1 AND ( B=2 OR C=3 )

Here is another example.

error NOT 403 OR 404

Without parenthesis, this search is processed as:

  • Search for any event that contains the string "error" and does not contain the the keyword 403
  • Search for any event that contains the string "error" and 404

You can use parentheses to group Boolean expressions. For example:

error NOT (403 OR 404)

(A=1 AND B=2 ) OR C=3

Field expressions

This documentation applies to the following versions of Splunk® Enterprise: 6.2.0, 6.2.1, 6.2.2, 6.2.3, 6.2.4, 6.2.5, 6.2.6, 6.2.7, 6.2.8, 6.2.9, 6.2.10, 6.2.11, 6.2.12, 6.2.13, 6.3.0, 6.3.1, 6.3.2, 6.3.3, 6.3.4, 6.3.5, 6.3.6, 6.3.7, 6.3.8, 6.3.9, 6.3.10, 6.3.11, 6.4.0, 6.4.1, 6.4.2, 6.4.3, 6.4.4, 6.4.5, 6.4.6, 6.4.7, 6.4.8, 6.5.0, 6.5.1, 6.5.1612 (Splunk Cloud only), 6.5.2, 6.5.3, 6.5.4, 6.5.5, 6.6.0, 6.6.1, 6.6.2, 6.6.3


I think "error NOT 403 OR 404" is not the same as "error NOT = 403 OR error = 404". At least the latter seems to imply that the field "error" does not contain the value "403" respective does contain the value "404".
I thought "error", "403" and "404" are just strings that are included or not in the raw data.

February 2, 2017

Was this documentation topic helpful?

Enter your email address, and someone from the documentation team will respond to you:

Please provide your comments here. Ask a question or make a suggestion.

You must be logged into splunk.com in order to post comments. Log in now.

Please try to keep this discussion focused on the content covered in this documentation topic. If you have a more general question about Splunk functionality or are experiencing a difficulty with Splunk, consider posting a question to Splunkbase Answers.

0 out of 1000 Characters