Short message search (Advanced Access)

Note: This content refers to Preview, Advance Access or limited-availability functionality that may not be available in all Relativity environments.

With advanced text search syntax, you can perform searches per short message from the Documents tab. This workflow utilizes the workspace’s Elasticsearch short message index to search specific metadata of the short message, such as identifying conversation participants, deleted or edited messages, message reactions, and messages sent within a specified time period.

Once messages are located, you can perform message level coding on them, if needed.

For more information on the short message search index and saved searches:

Considerations

Before you run a short message search, consider the following regarding message-level conditions:

  • are treated as an index search condition.
  • cannot be combined with other index search conditions.
  • can only be searched with other field conditions using the AND operator.
  • can only be used as the first condition within a search. From here, you can run your search, and it will return RSMF documents matching the supplied search criteria.

Creating a short message search

To create a search using the short message search workflow:

  1. Navigate to the Documents tab.
  2. Click the +Condition button in the search panel to add a condition.
  3. Select (Short Message Search) from the list of fields.
    A dialog opens where you can choose from each short message metadata field. Similar to how you would add conditions to any Documents tab search.
  4. Click the +Condition button to add a new message-level condition.
    The Short Message Search Conditions dialog.
  5. Select the desired short message field from the list.
  6. On the Filter dialog, do the following, then click Apply to save the settings.
    Filters dialog box 
    • Operator—choose your operator.
    • Query text box—type in the text to query.
  7. Optionally, you can:
    • Add additional conditions by clicking +Condition and repeating Steps 4-6.
    • Create logic groups to group conditions together by clicking the drop-down arrow next to +Condition and selecting Logic Group. Then, drag the conditions into the logic group frames. Use the AND or OR operators to join logic groups. See Setting up search conditions.
      Conditions showing logic groups
  8. When finished entering search conditions, click Apply on the Short Message Search Conditions dialog. The condition card is added to the Short Message Search Conditions list.
  9. Repeat Steps 2-8 to add more conditions or logic groups.
  10. Click Run Search to start the search if the Auto Run toggle is not enabled.

If needed, you can create a saved search as you would any other search. See Saved search and Create a saved search.

Defining search criteria

There are five field types in short message search conditions:

Each field type works similarly to the standard Relativity field type of the same name, as defined here. The primary exception is Long Text. In Short Message search conditions, the Long Text fields are searched in a manner similar to dtSearch using the advanced text search syntax. See Long text operators for more information.

Long text operators

Searching Long Text in Short Message search conditions is done by entering text queries using the advanced text search syntax. This allows you to search Elasticsearch indexes using syntax similar to that of dtSearch.

Note: Not all dtSearch syntax is supported and there are some differences between how the advanced text search syntax and dtSearch behave.

The table below shows search string examples and their expected results. You may also search using the “Is set” or “Is not set” operators to check for empty or filled values.

Search string Returns RSMF documents with messages containing…
"apple pear" The exact phrase apple pear.
apple AND pear The words apple and pear.
apple OR pear Either apple or pear.
apple W/5 pear The word apple within five words of pear. The opposite is also true.
apple PRE/5 pear The word apple within five words before pear. The opposite is not true.
apple AND NOT (pear) The word apple but not the word pear.
pear* Any word beginning with pear, including the word itself. For example, pears and Pearson.
pe?r

Any word beginning with pe with a single character between that and r. For example. pear or peer.

Reserved characters and words

Much like in dtSearch, there are characters and words that are reserved by the advanced text search syntax and must be treated differently to be searched.

  • Reserved characters: " ( ) % * ? ~ ! / \ + - & | { } [ ] ^ : < >
  • Reserved words: AND, OR, NOT, W/N, PRE/N (where "N" is a number)

In the advanced text search syntax, reserved characters may be searched by inserting a backslash (\) before them in the query.

  • For example, to search for The cat is in the hat!, you would enter The cat is in the hat\!.
  • This may also be used to search for the literal phrase, The query should be W/5, which you would enter as The query should be W\/5. That's W followed by a backslash (\), then a forward slash (/), and finally 5.

Reserved words may be searched by using quotation marks around them, either individually or as part of a phrase.

  • In the query "Bob and Jill went to the market", the and would automatically be searched because, logically, the AND operator cannot be used within a phrase.
  • If you needed to search for the word and separately, you must enter the query like the example as: bob OR "and" AND jill

New syntax rules

As noted above, there are differences between how dtSearch and the advanced text search syntax behave with certain queries. The advanced text search syntax has several different requirements for certain queries to be valid. These are detailed below.

  • All phrases must be contained within quotation marks. If not, a syntax error results.
  • Any query containing multiple Boolean clauses must have each clause contained within parenthesis to ensure that the intended meaning of the query is clear.
    • Valid: (apple AND pear) OR (dog AND cat)
    • Invalid: apple AND pear OR dog AND cat
  • The NOT operator must be followed by parenthesis containing the content to be searched with the NOT operator to ensure that it's clear what the NOT operator is acting on.
    • Valid: apple AND NOT (pear)
    • Invalid: apple AND NOT pear

Proximity operator (W/N, PRE/N) limitations

Compared with dtSearch, there are a few limitations described below on how you can use the two proximity operators.

  • AND cannot be used in proximity.
    • Example invalid query: (cat AND dog) W/7 bird
  • Proximity operators cannot be nested.
    • Example invalid query: (cat W/3 dog) W/5 bird
  • There is no NOT W/N or NOT PRE/N functionality.
    • Example invalid query: cat NOT W/5 dog

Word breaking and wildcard (*, ?) behavior

Relativity’s short message search indexing uses Elasticsearch’s standard analyzer. For more information on Elasticsearch's standard analyzer, see Elasticsearch's documentation.

Elasticsearch's documentation describes how words are broken into tokens, or individually searchable pieces of text, during indexing. The analyzer cannot be configured in any way at this time.

The most practical impact of this behavior on searching is that combining wildcard operators and special characters may not lead to expected search results.

  • For example, “fixed-* text” is searched as “fixed * text.” This means that it will not match “fixed-length text,” because in this case, the hyphen character is used as a word separator rather than a punctuation mark.

Fixed-length text operators

Fixed-Length Text values are entered using a simplified syntax relative to that of Long Text operators. As noted in the help banner, both single character wildcards (?) and multiple character wildcards (*) are supported, as well as escaping those characters using the backslash (\).

  • Single character example: pa?s would match on both pads and pass when using the “Matches” operator.
  • Multiple character example: d*ing would match on daring, dashing, and dancing.
  • Escaping example: Did the query work\? would match that sentence including the question mark.

Fixed-Length fields support the “Matches,” “Does not match,” “Is set,” and “Is not set” operators.

Fixed-length text modal

Date operators

The following operators are available for date field types. Values should be entered in UTC rather than your local time zone.

Date modal

Operator Returns Documents Where...
Is The entered date is equal to the field value.
Is not The entered date is not equal to the field value.
Is set The field is not empty.
Is not set The field is empty.
Is before The field value is before the entered date.
Is before or on The field value is before or on the entered date.
Is after The field value is after the entered date.
Is after or on The field value is on or after the entered date.
Between The field value is between the two entered dates.

Whole number operators

The following operators are available for whole number field types.

Whole Number modal

Operator Returns Documents Where...
Is The entered number is equal to the field value.
Is not The entered number is not equal to the field value.
Is set The field is not empty.
Is not set The field is empty.
Is less than The field value is less than the entered number.
Is greater than The field value is greater than the entered number.

Yes or No operators

The following operators are available for Yes/No field types.

Yes/No modal

Operator Returns Documents Where...
Is The selected value (Yes or No) is equal to the field value.
Is not The selected value (Yes or No) is not equal to the field value. This operator covers situations where the field is either the opposite of the chosen value or not set. For example, Is not with a value of Yes would cover values of No or unset values.
Is set The field is not empty.
Is not set The field is empty.