CipherStash
CipherStash Documentation

DynamicMatch

DynamicMatch supports full text search on string fields when the fields are not known ahead of time.

Supported Types

Index Definition

DynamicMatch works just like Match except that it automatically indexes all strings fields that it finds within a document - even when the documents in a collection do not have a consistent structure.

DynamicMatch indexes can be defined with the "dynamic-match" kind in a JSON schema definition:

{
  // (type definition omitted)
  "indexes": {
    "allText": {
      "kind": "dynamic-match",
      "tokenFilters": [{ "kind": "downcase" }],
      "tokenizer": { "kind": "ngram", "tokenLength": 3 }
    }
  }
}

Supported Query Operations

  • match (performs full text search)

StashJS (TypeScript)

let queryResult1 = await employees.all(
  employee => employee.allText.match("CEO")
)