# NOTSTRING

The `NOTSTRING` field specifier (case sensitive) allows you to find documents in which at least one instance of the specified fields contains a value that does not contain any of the specified strings as a substring.

If there are one or more instances of a particular field in the document, the document returns if at least one instance does not contain any of the specified strings, even if another instance of the field does contain the string. The document does not return if all instances of the specified fields contain one of the specified strings as a substring.

NOTE: You can optimize the field specifier speed by restricting the field to the `MatchType` property type.

## Format

    FieldText=STRING{yourStrings}:yourFields

`yourStrings` | One or more strings. A document returns only if at least one instance of one of `yourFields` contains a value that is not a substring of any of these strings. You can specify strings that contain punctuation (but see Note) or consist of several words. NOTE: To distinguish query syntax punctuation from punctuation within strings, double-percent-encode commas and curly braces within strings. Query syntax punctuation must be left unencoded. There must be no space before or after a separator comma.
`yourFields` | One or more fields. A document returns only if it contains one of these fields, and if the value in at least one instance of the field does not contain any of `yourStrings` as a substring. Separate multiple fields with colons (`:`). There must be no space before or after a colon.

## Example

    FieldText=NOTSTRING{cat,dog}:ANIMAL:TOPIC

At least one instance of the `ANIMAL` or `TOPIC` field value must contain a value that does not contain the substring `cat` or `dog` for the document to return.

For example, if a document contains only:

    #DREFIELD ANIMAL="old cat"

or

    #DREFIELD TOPIC="dogs like playing catch"
    #DREFIELD ANIMAL="dog"

Then it does not return as a result.

However, if the document contains:

    #DREFIELD TOPIC="dogs have trouble catching mice"
    #DREFIELD ANIMAL="dog"
    #DREFIELD ANIMAL="mouse"

Then it returns as a result, as one of the `ANIMAL` fields does not contain the substring cat or dog.

NOTE: To find documents in which the specified string is not present in any instance of the specified field, use the STRING specifier with the Boolean operator `NOT`. For example, `FieldText=NOT+STRING{cat,dog}:ANIMAL` does not return any documents that have a `ANIMAL` field with the substring `cat` or `dog`, even if there are other `ANIMAL` fields with different values.

## See Also

- STRING Field Specifier

_FT_HTML5_bannerTitle.htm