ℹ️ In this article:

Search tools

  • The Search Bar: Search using keywords, Boolean operators, metadata fields and/or filter names.

  • The Filter Carousel: Rapidly drill down to a sub-set of documents using a variety of search facets: Upload Name, Tag, Email metadata, date range, and more.

  • Search Builder: Build complex search using our Advanced Search graphical UI, or enter bulk searches to the Bulk Keyword Search tool.

Search syntax

Logikcull uses a proprietary version of Elasticsearch to run search queries within Projects.

Functional comparisons to Westlaw / DTSearch

ℹ️ Need a primer on how Logikcull search syntax works compared to other systems? View our comparison table. 🔗

Boolean search tips and nesting your searches

Logikcull uses common Boolean operators AND, OR, AND NOT; and combines/nests search terms using parentheses.
View our tip sheet for using Boolean operators and nesting your searches here. 🔗


Encapsulate a group of words with double quotes " " to search exactly that combination of words.

Example: "hello john" will return all records where "hello" and "john" are grouped as "hello john".


* asterisk: open-ended character wildcard search

Example: bean* will return beans, beanies, beanbags, etc.

? question mark: single character wildcard searches.

Example: b?an will return bean or bran.

Note: For projects created prior to 5/22/2016, you can't use a wildcard search within a phrase search (i.e. "bean* soup" will not work).

Fuzzy Terms

To find misspelled words (or words with similar spellings), use the tilde, ~ , symbol at the end of the term. Add a value between 0.1 and 0.9 to alter the level of similarity.

Example: color~0.3 may return colour, culor, and culur. Whereas color~0.7 may only return colour.


To find words within a specific distance of one another use the tilde, ~ , symbol at the end of a phrase plus the number of words within. ⚠️ We recommend using fewer than 10 words in a proximity search.

Example: (beans rice)~10 will return all records where rice is within 10 words of beans.

Use parentheses to surround the terms being searched. We recommend using parentheses to enclose terms and quotation marks to denote multi-word terms, such as "bank account" in ("bank account" money)~10

Proximity searching is order specific. The proximity value takes into account the order or placement of the words (from left to right) therefore the search (front back)~2 may not necessarily return the exact same records as (back front)~2 due to the shift of adjacent words required for the match. We recommend combining searches in reverse order as a best practice.

Wildcards are supported in proximity searches.

Term Boosting and Relevancy

Increase the relevance of returned records by adding the caret ^ symbol with a boost factor (a number) at the end of a term you are searching. The higher the boost number, the more relevant the term will be.

Example: beans^5 rice will make the records with beans more relevant than those with rice.

You can then sort your search results by "Relevancy (desc)" to show your relevant search results first.

Where can I enter syntax in Logikcull?

Elasticsearch syntax can be entered in any of the following fields:

  • The search bar

  • the Text field in the Advanced Search Builder

  • Each row of the Bulk Keyword Search

  • Each row of the Search Term Report

Searching for Production Bates Numbers

Your method for searching production Bates numbers in Logikcull depends on how they were generated:

From Logikcull-Generated Downloads (exported from Logikcull)

From Production Uploads (imported into Logikcull)

Universal Bates Search

Note: To search for any documents downloaded prior to April 4, 2018 please use the “Download Doc ID” field.

If the project was created after April 4, 2018, you may use the below syntax to search both database upload and download items for any control number (begin, internal, or end bates). In the advanced search builder, you can use the "Bates number" field. Example search syntax would be:


If the same Bates number exists in another upload/download within the same project, you may narrow the search further to a specific produced set. For example:

exports.download_name:VOLUME001 AND exports.bates:BATES00000001

From Logikcull-Generated Downloads (exported from Logikcull)

If the Bates number you’re looking for was created when the document was produced/downloaded from Logikcull, you can use the “Download Doc ID” field in the advanced search builder. Example search syntax would be:


From Production Uploads (imported to Logikcull)

If the bates number was part of a database upload/production import, you can use the “beg_bates” field. Example search syntax would be:
Unified Bates Search:


By Filename

If the searches above don't yield results, you may also try searching for Bates numbers against the filename field or text content, depending on how they were loaded in the system. Example search syntax to search by the filename would be:


By Document Text


Combining metadata and text searches for Bates references

To search both the text and Bates metadata, you can combine syntax:

file_name:BATES_*0489 OR bates:BATES_*0489 OR text:BATES_*0489

Searching Bates Ranges

With any of these options above (except text), you can also search for a Bates range.

bates:[BATES00000001 TO BATES00000010]

exports.download_doc_id:[BATES00001 TO BATES00000010]

beg_bates:[BATES00001 TO BATES00000010]

file_name:[BATES00000001 TO BATES00000010]

imported_fields.beg_bates:[PRODDOC00000001 TO PRODDOC00000002]

If you're still unable to locate the document, please don't hesitate to reach out to our support team. You can also grant temporary access to the project and our team can take a closer look and provide suggestions.

Searching for a List of Bates Numbers

You can search for a list of Bates numbers by separating them with spaces and enclosing them in parentheses, like this:

bates:(BATES0001 BATES0004 BATES0007 BATES0008 BATES0009 BATES0021)

Note: you can search for up to 1,024 boolean operators with a maximum of 40,000 characters.

Advanced Search Tools

Logikcull’s Advanced Search Tools allow you build complex searches with Advanced Search Builder, an easy-to use user interface, or Bulk Keyword Search, where you can enter or copy/paste rows of searches to generate search term reports.

Both of these tools can be accessed by clicking the spyglass + gear icon just to the right of the search bar:

Advanced Search Builder

The Advanced Search Builder can be used to craft Boolean searches using natural language. This tool can be accessed by clicking the spyglass + gear icon just to the right of the search bar. View our Advanced Search Builder guide. 🔗

ℹ️ Best practices for using Advanced Search:

DO use the advanced search builder form to Test your results. This will show you how many hits are found within your data.

DO use the advanced search builder form to add parentheses for nested Boolean searches. If you have nested parameters in your advanced search, you'll need to add the parentheses to the resulting query in the search bar. Learn more about nested searches in this article. 🔗

⚠️ DO NOT continue to use the Advanced Search Builder after you have made changes to the resulting search query in the search bar. Once you run a modified search in the search bar, Logikcull stops querying the Advanced Search builder.

Bulk Keyword Search and Search Term Reporting

The Bulk Keyword Search and Search Term Reporting can be used to type (or copy/paste) multiple search queries that can be compared or combined into a comprehensive search. View our guide for generating bulk keyword and search term reports in Logikcull. 🔗

ℹ️ Please note: filters applied in the filter carousel remain active and will impact your search results.

Search CSV / Privilege Logs

To create a CSV report of your current search results, click the "Download CSV" icon located above the search bar:

This will open a window where you can customize your report:

The Download Search Results Form

  1. Summary of what's being reported.

  2. Name your report.

  3. Choose whether to include families of the documents in your current search. This may cause the number of documents being reported on to increase.

  4. Choose a download template. You can choose one of the existing templates or create a new one.

  5. Create CSV Download. This report will be available for download from the Search page.

Creating a New Download Template

If you choose "Create a new template" from the dropdown in step 4, you'll be presented with a new window where you can select the metadata fields to include in your report.

Select fields from the left table to be added to your template on the right by clicking one on the field name. These can be renamed and rearranged on the right side.

Save your template for future use, then press Continue.

Click "Create CSV Download" and watch for your CSV download to appear directly below the Search Results statistics row and begin progressing.

Exporting Logikcull Document Notes and Comments

When you're creating a new Logikcull Download, simply choose the following load file field(s) from the list of choices in Step 2:

Comments will contain both the comments themselves, as well as the comment authors.

The CSV Download feature can also be used to create a quick report of these fields outside of a full Download.

Accessing the CSV Download

Once complete, click the "Click here to download" link to retrieve the CSV file of your search results featuring your chosen metadata.

Once you download your CSV it will disappear from the search page, but you can find a copy of it in your Downloads tab, inside of the CSV Search Results folder by default.

Troubleshooting Search Queries

Query invalid. Unexpected value at offset # " ".

This error message means there's a space at character number # where Logikcull wasn't expecting a space. This is usually the result of a space between the colon separating a field name from a search query, e.g., tags: "tag name". Removing the space at the location indicated by the error should resolve this message.

My documents are disappearing from my search after I add or remove a tag.

This is usually because there's an active filter applied to your search and documents are falling out of the results because you've made a change to the work product (i.e., documents disappear when you apply a tag to documents when you're filtering on "Has No Tags" in the filter carousel). The best way to avoid this is to remove the filter and instead run a search directly from the search bar (use syntax tags:none).

Searching on a Saved Search has unexpected results.

There are many reasons why running searches based on other searches may be problematic. Saved search parameters include all filters and deduplication views, which may impact your search results. For example, if you're in the "Global Dedupe" view and you search on a saved search that is in "No Dedupe" view, the results will be constrained to your active filter view. The best practice is to make sure that your deduplication view remains consistent across any saved searches you wish to combine.

I've selected "Begin Doc" and/or "End Doc" fields but they are not appearing in my CSV report.

Download templates containing Begin Doc or End Doc metadata fields can be selected from the list of available templates for your CSV download, but those fields are not currently available for this type of report. To pull in Bates ranges for your CSV download, you must select Begin Bates num from ____ and/or End Bates num from ____ fields from the list of available fields, like this:

Searching for Documents with Tagging Inconsistencies

Here’s a search workflow to help identify family members from search results that:

  • Have not been reviewed. E.g., Parent email tagged Responsive (inclusion) while attachments (Children) have not been reviewed/tagged (exclusion).

  • Have conflicting tags between the parent and child. E.g., Parent email tagged Responsive (inclusion) while attachments (Children) are tagged Non-Responsive (exclusion).

  • One or more documents from a family group are considered exclusionary documents. E.g., Child document is marked “To be produced” (inclusion) while its' parent document is marked “Privilege Withhold” and/or “Exclude for production”

In the following example, we'll use the tags “Responsive” AND “QC Reviewed” for inclusion.

We'll use the tags “Privilege Withhold” OR “Confidential” OR “Do not produce” OR "Has No Tags" to indicate documents which have not been reviewed for exclusion.

ℹ️ TIP: Build your search using the Advanced Search Builder to pick up the syntax for your query. The parentheses will have to be added after your search is populated in the search bar.

Step 1: Create the inclusion search with family members.

(tags:responsive AND tags:”QC Reviewed”) AND NOT (tags:”Privilege Withhold” OR tags:Confidential OR tags:”Do not produce” OR tags:"Has No Tags")

⚠️ TIP: When using parentheses pay close attention to the order of operations. More on Boolean search tips from this FAQ

Create a locked saved search of the results and include families. Name it as "Prod001 Inclusion with family" as an example.

Step 2: Create the exclusion search with family based on the search results from step 1.

saved_search_name:"Prod001 Inclusion with family" AND (tags:”Privilege Withhold” OR tags:Confidential OR tags:”Do not produce”)

Create a locked saved search of the results and include families. Name it as "Prod001 Exclusion with family" as an example.

TIP: If your exclusion criteria remains consistent you have the option to create just one exclusion saved search that you can reference moving forward. Maybe you can call this "Docs to exclude with family"?

Step 3: Now that you have full family members included in each group you can create a final saved search to remove full family members from your exclusion set.

saved_search_name:"Prod001 Inclusion with family" AND NOT saved_search_name:"Prod001 Exclusion with family"

You can then create a saved search (locked) of the results to use as your final production saved search. These results should leave behind documents that are family inclusive with consistent tagging.

NOTE: Please keep in mind that for any locked saved search with families included, you may need to temporarily unlock and re-lock the search to make sure you are accounting for documents added to the population by way of new uploads added to the project or from having documents tagged or untagged from existing review.

Did this answer your question?