DISCO uses Westlaw and Lexis-style search syntax with boolean search operators. These can be used in a fieldless search or with a field such as tag(Responsive or "Further Review"). This guide explains how to search in DISCO. For a training video about DISCO's search and review features, see DISCO 101: Search & Review.
Contents
Search basics
| Operators | Description | Example |
|---|---|---|
&,and
|
Includes results with both terms |
|
[space],or,|
|
Includes results with either term or field |
|
%,not
|
Excludes term or field from results |
|
+family |
Includes family members as search hits for the entire query or any portion of a query learn more here |
Returns documents tagged Responsive and documents whose family members are tagged Responsive, but removes documents tagged Attorney-Client and family members of documents tagged Attorney-Client. |
“ ” |
Exact phrase intended |
Be sure to include quotes when searching for an email address.
*Note that not all DISCO fields are equipped for exact match phrase searches depending on the field type. |
! |
Truncation search or root expander; can be used at the beginning of a term, end of a term, or both. Also can be used to return all documents. |
|
* |
Wildcard search for single character |
contract* — Searches for words that have one, but only one, character after contract, such as contracts, but not contracted, contractual, or contract
|
/n,w/n
|
Proximity search, searching within n words, in any order DISCO also supports /p and /s shorthand.learn more here |
contract /10 payment — Documents that contain contract within ten words of payment, where the order is irrelevant |
+n,w+n
|
Proximity search, searching within n words in prescribed order |
contract +10 payment — Documents that contain contract within ten words of payment, where contract must precede payment
|
~ |
Fuzzy or approximate word search. Fuzzy searching allows for the addition, deletion, or substitution of up to two letters in a word. |
guaranty~ — Searches for guaranty, guarantee, garanty, and similar (mis)spellings |
. |
Period in a name or email address |
Matt.Motley — Documents that contain Matt.Motley (with the period), but not MattMotley (without the period) |
( ) |
Grouping syntax |
(failure & consideration) & (contract agreement) — Documents must contain both failure and consideration, and must also contain either contract or agreement
|
sample(n, search) |
Returns n documents randomly selected from results of search. If n is less than 1, this number is treated as a percentage.
|
Returns 50% and 700 of the search results for contract at random, respectively |
field(terms) |
Field searching (see below for standard DISCO fields) |
custodian(Holcombe) — Documents with Holcombe in the custodian field |
DISCO ignores most punctuation and non-alphanumeric characters when searching. Periods, colons, semicolons, and apostrophes within a word are not removed. As an example, periods in a name or email address are indexed and searchable. Word operators (and, or, and not) can be searched if placed in quotation marks, “contract and payment”.
Order of operations
DISCO performs a search using the following order of operations:
- Term modifiers: !, *, ~
- Exact phrases: “ ”
- Groupings: ( )
- Proximity: /n, +n
- Family subsearch: +family
- &, and, %, not
- [space], or
Reviewing & searching document families
DISCO has two powerful features to help you navigate and search families of documents: family inclusion mode and family subsearch.
- Family mode allows reviewers to review documents in the context of their entire family by including family members in the search results list.
- Family subsearch is a search syntax capability allowing you to include family members as search hits. +family can be added to any valid query, or any portion of a query that would be a valid standalone query.
Document fields
Fieldless, or keyword, search includes the document text, subject lines, and authors for matters created after June 16, 2025. For matters created on or before June 16, 2025, fieldless search also includes document notes, custodians, and user defined fields.
User-created information
| Field | Description | Example |
|---|---|---|
annotation |
Returns documents with the specified annotation note |
See more detailed feature notes with examples here. |
annotationColor |
Returns documents with at least one annotation with the specified annotation color | annotationColor(red) — Documents with at least one annotation highlighted in red |
annotationReason |
Returns documents with the specified annotation reason | annotationReason(privacy) — Documents that have an annotation with a reason of privacy |
documentNote |
A notes field for each document |
|
field |
Custom metadata field added by admin-level users that is used to capture additional information |
|
folder |
Folder created in DISCO by a user |
|
privilegeNote |
A privilege notes field for each document |
|
production |
A name assigned by the user to each set of documents produced using DISCO |
production("defense") — Documents produced in the defense production set |
redactionReason |
Optional user-created text that can describe redactions |
redactionReason("Trade Secret") — Documents with Trade Secret applied as a redaction reason |
referenceid |
Optional identification number users can assign (contact DISCO Support to do so) |
referenceid(245) — Document with Reference ID number 245
|
searchTermReport |
Documents matching the search criteria within a search term report |
searchTermReport("Responsive Terms") — Documents matching the search scope and search terms within the Responsive Terms search term report |
stage |
A set of documents created by users for linear review |
stage("First Pass Review") — Documents in the First Pass Review stage |
stageBatched |
Documents in stages that have been pulled into batches |
stageBatched("First Pass Review") — Documents in the First Pass Review stage that have been placed in batches (whether or not yet reviewed) |
stageComplete |
Documents in stages that have been marked "reviewed" and checked-in |
stageComplete("Privilege Review") — Documents in the Privilege Review stage that have been marked reviewed and contained in a checked-in batch (i.e. complete) |
stageReviewed |
Documents in stages that have been marked "reviewed" |
stageReviewed("Privilege Review") — Documents in the Privilege Review stage that have been marked reviewed |
tag |
Fields appended to documents by users |
tag(responsive) — Documents with the responsive tag |
tagGroup |
Fields from a specific group appended to documents by users |
taggroup(Issue) — Documents with a tag from the Issue group |
Document metadata & attributes
Metadata is data about a document that is not part of the document’s content. Metadata can include things like the creation date, author, sending and receiving information, file name, and file path.
| Field | Description | Example |
|---|---|---|
annotationCount |
Total number of annotations on a document |
annotationCount(>1) — Documents with 2 or more annotationsannotationCount(2 to 4) — Documents with 2 to 4 annotations
|
author |
Identifies the author or creator of a file |
author(Jones) — Documents that Jones authored |
batesNumber |
Bates numbers applied to documents, either from a DISCO production or elsewhere |
|
batesPrefix |
The English portion of the Bates stamp |
|
bcc |
A recipient that was blind carbon copied on an email |
bcc("Sarah.Smith@email.com") — Emails in which Sara Smith is blind copied |
billingSize |
Returns all documents with the indicated size in bytes relative to the review database's billing statement |
|
cc |
A recipient that was carbon copied on an email |
|
chatChannelName |
Name of the chat channel |
chatChannelName(planning) — messages in the channel planning
|
chatMessageType |
Type of chat message. May be a direct message (DM), group direct message, private channel, or public channel |
chatMessageType("direct message") — direct chat message |
chatParticipant |
Participants who can see the content of the channel |
chatParticipant(kendall) — messages that participant Kendall could see |
chatParticipantCount |
Total number of senders and recipients |
chatParticipantCount(>5) — messages with more than 5 participants |
chatSender |
Sender of the chat message. May be an email address format |
chatSender("egger@megacorp.com") — Sender of the message |
chatRecipient |
Recipient of the chat message, including channel members if sent to a channel. May be an email address format |
chatRecipient("matias@megacorp.com") — Recipient of the message |
chatRecipientCount |
Total number of recipients of the chat message |
chatRecipientCount(1) — chat messages with only 1 recipient |
chatSource |
Distinguish between Slack and Microsoft Teams chat messages |
chatSource(slack) — chat messages collected from Slack |
childCount |
Returns all parent documents that have the specified number of children. A child is typically an attachment to an email or an embedded file in a document. A parent is the document containing the attachment or file. |
|
comment |
Returns all documents with the indicated text left inline in the original file |
comment(!) — All documents with comments in the original files |
company |
Returns all documents created by the same company |
company(Enron) — Documents created by Enron |
conversationCount |
Returns all emails belonging to conversations that contain the number or range of emails specified. Conversations include the various responses, replies, and forwards of an email chain. |
|
custodian |
Typically the individual or location from which a document was collected |
|
dataSpace |
Searches for documents in a specific data space - see this feature spotlight for more information |
|
dedupHash |
The unique identifier used to deduplicate documents at the time of ingest |
DeDupHash(ABC123!) — Document with a deduplication hash starting with ABC123
|
domain |
An email domain (typically, the text after the @ symbol) |
See more detailed feature notes with examples here. |
domainCount |
Domain count is the unique count of email domains found within the from, to, cc, and bcc fields on email messages. |
See more detailed feature notes with examples here. |
extension |
Returns all documents with the specified file extension |
extension(.doc) — Documents with the .doc file extension |
familyConsistentTag |
Returns documents where every family member has the specified tag. Limited to documents in families. |
familyConsistentTag(Responsive)— Documents where every family member has a Responsive tag |
familyInconsistentTag |
Returns documents that do not have the specified tag, where at least one of its family members has the specified tag. Limited to documents in families. |
familyInconsistentTag(Responsive)— Documents without a Responsive tag, where at least one of its family members has a Responsive tag |
fileLength |
Returns files corresponding to the specified size of the file (in bytes) |
fileLength(25000) — Documents that are exactly 25,000 bytesfileLength(>1000000) — Documents with file sizes greater than 1,000,000 bytes |
filename |
The filename of any document Emails often have filenames, though largely hidden in most applications |
|
folderpath |
Any folder in which a document was saved (such as a computer or network drive) |
folderpath("Deleted items") — Documents that were in the Deleted items folder when collectedThis search locates any discrete folder within the tree of folders and subfolders (e.g., MyComputer/Files/DeleteItems |
from |
Identifies the sender of an email |
from(Lee) — Emails sent by Lee
|
hasDetectedSlipsheet |
DISCO identifies when a slipsheet is produced in conjunction with a native file for load file ingests, and will create a near-native image from the native file |
hasDetectedSlipsheet(yes) — Documents that have a slipsheet |
hasAnnotation |
Returns documents that have, or don’t have, an annotation | hasAnnotation(yes) — Documents that have an annotation |
hasAnnotationWithoutReason |
Returns documents with at least one annotation that doesn’t have an annotation reason | hasAnnotationWithoutReason(yes) — Documents with at least one annotation without a reason |
hasDocumentNote |
Returns documents that include a document note |
hasDocumentNote(yes) — Documents that have a document note |
hashes |
Searches across deduphash, sha1hash, md5hash, and objecthash |
Document with a hash starting with xyonqy |
hasHiddenType |
Returns documents with hidden content detected. Hidden content can include comments, hidden sheets, notes, hidden rows, etc. |
hasHiddenType(yes) — Documents that have hidden content detected |
hasImage |
Indicates if an item was processed as an image or not. An image is sometimes also referred to as a “near native” or “PDF.” |
hasImage(yes) — Documents that were processed as images |
hasLanguage |
Documents that have an identified language |
hasLanguage(yes) — Documents that have a language identified |
hasNative |
Indicates if the native file was not supplied. If an image is supplied, DISCO will use that to populate the native file link. If no native or image is supplied, DISCO will create a near-native image from the supplied text and use that to populate the native link. |
hasNative(yes) — Documents with a native file supplied |
hasOCR |
Returns documents for which any of the extracted text was derived via OCR |
hasOCR(yes) — Documents with text extracted via OCR |
hasPrivilege |
Returns documents that include a privilege tag |
hasPrivilege(yes) — Documents with a privilege tag |
hasPrivilegeNote |
Returns documents that include a privilege note |
hasPrivilegeNote(yes)— Documents that have a note |
hasRedaction |
Searches for documents that have redactions, do not have redactions, or have redactions in a specific location |
|
hasRedactionReason |
Searches for documents that have redaction reasons, do not have redaction reasons |
|
hasRedactionWithout Reason |
Searches for documents that have a redaction, but no corresponding redaction reason |
|
hasSearchText |
Returns documents that include searchable text |
hasSearchText(yes) — Documents with searchable text |
hasWrongExtension |
Indicates if the extension of an ingested item is inconsistent with the determined type |
hasWrongExtension(yes) — Documents ingested as a file type that differs from the indicated type |
hiddenText |
Hidden text is text that has been set to be hidden in the original file |
hiddenText(yes) — Documents that have hidden text in their original files |
hiddentype |
Identifies whether hidden data is in a file, including comments, revisions, notes, hidden sheets, or very hidden sheets |
hiddentype(revisions) — Documents with hidden revisions |
id |
An identification number assigned by DISCO that is unique to each document in the database |
|
imageSize |
Returns documents with the indicated size in bytes of the document’s image file |
|
ingestSessionId |
A number assigned to each group of documents ingested into DISCO |
ingestSessionId("IngestSessions/1") — Documents ingested into DISCO in Ingest Session 1
|
ingestType |
Indicates which of the two types of data deliveries can be processed |
|
invisibleText |
Invisible text is text that is the same color as its background |
invisibleText(yes) — Documents that contain invisible text |
isDetectedEmail |
Files identified as emails during processing based on an examination of the file's text/OCR |
isDetectedEmail(yes) — Documents identified as emails |
isInclusive |
Returns emails with unique content |
isInclusive(yes) — Filters out emails that are duplicated within inclusive emails |
isProcessedAsNative |
Indicates that some aspect of processing was unsuccessful However, DISCO will create a record in the matter with a link to the native file |
isProcessedAsNative(yes) — Documents that were processed unsuccessfully |
md5Hash |
MD5 hash of the file binary; 32 characters |
md5hash(vgbc2c!) — Document with an MD5 hash starting with vgbc2c
|
objectHash |
Hash of the file document, without considering the parent document; 40 characters For non-email files, objecthash is the same as sha1hash. For email files, objecthash is computed by extracting and hashing parts of an email including sent date, sender, message body, and a few more. |
objecthash(hpsrxo!) — Document with an object hash starting with hpsrxo
|
pageCount |
Returns documents containing the specified number of pages |
pageCount(1) — Documents that have one pagepageCount(101 to 3000) — Documents with 101 to 3000 pages |
parentCount |
Returns documents with the specified number or range of parents |
parentCount(1) — Children (such as attachments or embedded files) that have only one parentparentCount(0) — Only parents (i.e., excludes all attachments and embedded files), and "loose" files that have no children or parent files |
participant |
Searches the from, to, cc, and bcc fields on email messages |
See more detailed feature notes with examples here. |
participantCount |
Participant count is the unique count of email participants in the from, to, cc, and bcc fields on email messages |
See more detailed feature notes with examples here. |
path |
Location from which the document was collected |
path("My Computer/Deleted Items/!") — Documents that were saved, when collected, in the My Computer/Deleted Items folder, as well as all documents in subfolders |
prediction |
Tag predictions are useful for finding documents that DISCO predicts are likely or unlikely to receive a specific tag |
|
primaryLanguage |
Returns documents that have the specified primary language |
primaryLanguage(French) — Documents in which the greatest portion of the content is in French |
processingDetails |
Returns documents with the specified processing reason |
processingDetails(Password protected) — Documents that were identified as password protected during processing |
processingStatus |
Returns documents with the specified processing outcome |
processingStatus(Successful) — Documents that were successfully processed |
recipient |
Searches the combined email metadata fields: to, cc, and bcc (i.e., anyone who was the recipient of an email) |
See more detailed feature notes with examples here. |
recipientCount |
Recipient count is the unique count of recipients in the to, cc, and bcc fields of an email |
See more detailed feature notes with examples here. |
relationshipStatus |
Finds documents based on their family relationships. |
|
search |
Searches using the criteria of a saved search |
search("Privileged Emails")— Returns documents responsive to the saved search Privileged Emails
|
sha1hash |
SHA-1 hash of the file binary; 40 characters |
sha1hash(wyt9sz!) — Document with a SHA-1 hash starting with wyt9sz
|
similarCount |
Returns documents with the specified number of similar documents |
|
speakerNote |
Speaker notes are slide-specific notes that are hidden from the audience, but are visible to the presenter while editing |
speakerNote(yes) — Documents that include speaker notes |
subject |
Searches the subject (or "re:" line) of an email |
subject(meeting) — Emails with meeting in the subject line |
text |
The extracted text in a document image - does not search metadata |
text(Peter) — Documents containing Peter anywhere within the document image |
to |
Identifies to whom an email was sent |
|
tagcount |
Documents with a specific count of tags |
|
textLength |
Returns documents with the specified number of characters in the text, including spaces |
|
title |
Returns documents with the specified document title |
title(GAS PURCHASE AGREEMENT) — Documents whose metadata title is GAS PURCHASE AGREEMENT
|
type |
The type of a document in DISCO is the file type such as email, Word, or PDF |
|
unfoldered |
Documents that are, or are not, within a folder |
unfoldered(yes) — Documents that are not in a folder |
Date fields
Dates can be searched by exact date, a range of dates, and before or after a date. Dates can be formatted as date certain (12/10/2015), month and year (9/2016), or year (2012). For example:
- Exact:
date(5/4/09) - Range:
date(5/4/09 to 5/10/09) - Before:
date(before 5/10/09) - After:
date(after 5/10/09
| Field | Description |
|---|---|
chatSentDate |
Date a chat message was sent. For documents containing multiple messages, this is the date of the first message. Note: the date of the last message (or edit/delete activity) on a chat doc is stored as the last modified date |
conversationDate |
For all documents in an email conversation, the conversation date is the send date of the first email in the conversation. |
createDate |
Created date is the date the file was created. |
date |
Date searches the send date of emails and the last modified date of all other document types. |
familyDate |
For all documents in a family, the family date is the sent date (for emails) or last modified date (for non-emails) of the family head document. |
lastAccessedDate |
The last accessed date is the date the file was last accessed. |
lastModifiedDate |
The last modified date is the date changes were last made to a file. |
lastPrintedDate |
The last printed date is the date the file was last printed. |
loadDate |
The load date is the date documents were ingested into DISCO. |
receivedDate |
The received date is the date an email was received. |
sendDate |
The send date is the date an email was sent. |
Tag predictions
Tag prediction uses AI to predict a tag or tags that should be applied to a document. Tag prediction search syntax is displayed below. Search syntax can accommodate multiple tags, e.g., prediction("tag name1" & "tag name2", >20).
| Field | Description |
|---|---|
prediction("tag name", Likeliness value) |
|
prediction("tag name", score range) |
— Documents that have a likelihood score in the range of -20 to 20 to be tagged Attorney-Client
— Documents that have a likelihood score over 20 to be tagged Attorney-Client |
prediction("tag name", exact score) |
— Documents that have a likelihood score of 20 to be tagged Attorney-Client |
Tag decisions
Tagging decisions can also be searched by dates applied and users applying them, using the following syntaxes:
| Field | Description |
|---|---|
tag(by "reviewer@lawfirm.com") |
Documents tagged by reviewer@lawfirm.com |
tag(responsive & by "reviewer@lawfirm.com") |
Documents tagged responsive by reviewer@lawfirm.com |
tag(non-responsive % by "reviewer@csdisco.com") |
Documents tagged non-responsive by someone other than reviewer@csdisco.com |
sample(10, tag(by "reviewer@csdisco.com")) |
Ten random documents tagged by reviewer@csdisco.com |
tag(by "reviewer@csdisco.com" & on 10/16/2015) |
Documents tagged by reviewer@csdisco.com on 10/16/2015 |
tag(responsive & by "reviewer@csdisco.com" & before 10/16/2015) |
Documents tagged responsive by reviewer@csdisco.com before 10/16/2015 |
removedTag(responsive) |
Documents from which the responsive tag was removed (by anyone) |
removedTag(by "reviewer@lawfirm.com") |
Documents from which any tags were removed by reviewer@lawfirm.com |
Numeric searches
The following numeric fields can search for an exact document, a range of documents, or documents greater than or less than the indicated value. For example:
id(1234)id(1 to 1234)id(>1234)id(<1234)
Numeric fields
annotationCount( )id( )billingSize( )childCount( )conversationCount( )fileLength( )imageSize( )pageCount( )parentCount( )similarCount( )tagcount( )textLength( )
Metadata redactions
Redaction fields can search for redactions on specific metadata, including:
- Any metadata:
hasRedaction("onmetadata") - File name:
hasRedaction("filename") - Path:
hasRedaction("path") - Custodian:
hasRedaction("custodian") - Subject:
hasRedaction("subject") - From:
hasRedaction("from") - To:
hasRedaction("to") - Cc:
hasRedaction("cc") - Bcc:
hasRedaction("bcc") - Send date:
hasRedaction("senddate") - Received date:
hasRedaction("receiveddate") - Author:
hasRedaction("author") - Created date:
hasRedaction("createddate") - Modified date:
hasRedaction("lastmodifieddate") - Printed date:
hasRedaction("lastprinteddate") - Accessed date:
hasRedaction("lastaccesseddate") - Company:
hasRedaction("company") - Title:
hasRedaction("title")
Please see Finding Redacted Records for more metadata redaction search examples.
Custom fields
DISCO supports user defined fields created in the product, and custom fields ingested from a load file. The search syntax works similarly for both types of custom fields.
| Example | Description |
|---|---|
Deposition(!) |
Documents with any contents in the Deposition field |
Deposition(Important) |
Documents with the word Important in the Deposition field |
"My notes"(!) |
Documents with any contents in the My notes field |
"My notes"("Review again") |
Documents with Review again in the My notes field |
There are two additional searches for user defined fields.
| Example | Description |
|---|---|
hasFields(true) |
Documents with contents in any user defined field |
field("Red Team") |
Documents with Red Team in any user defined field |