- TypeScript
- Redis CLI
Smart Matching for Text Fields
When you provide a value directly to a text field (without explicit operators), the search engine applies smart matching:- Single-word values: Performs a term search, matching the word against tokens in the field.
- Multi-word values: Combines phrase matching, term matching, and fuzzy matching with different boost weights to rank exact phrases highest while still finding partial matches.
- Double-quoted phrases: Forces exact phrase matching (e.g.,
"\"noise cancelling\""matches only those words adjacent and in order).
$phrase,
$fuzzy, or $contains.
Query Options
TheSEARCH.QUERY command supports several options to control result format and ordering.
Pagination with Limit and Offset
Limit controls how many results to return. Offset controls how many results to skip. Used together, these options provide a way to do pagination.- TypeScript
- Redis CLI
Sorting Results
Normally, search results are sorted in descending order of query relevance. It is possible to override this, and sort the results by a certain field in ascending or descending order. Only fields defined asFAST in the schema can be used as the sort field.
When using SORTBY, the score in results reflects the sort field’s value rather than relevance.
- TypeScript
- Redis CLI
Controlling Output
By default, search results include document key, relevance score, and the contents of the document (including the non-indexed fields). For JSON and string indexes, that means the stored JSON objects as whole. For hash indexes, it means all fields and values. It is possible to get only document keys and relevance scores usingNOCONTENT.
- TypeScript
- Redis CLI
- TypeScript
- Redis CLI
Highlighting
Highlighting allows you to see why a document matched the query by marking the matching portions of the document’s fields. By default,<em> and </em> are used as the highlight tags.
- TypeScript
- Redis CLI