Simple Pattern Tokenizeredit


This functionality is experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.

The simple_pattern tokenizer uses a regular expression to capture matching text as terms. The set of regular expression features it supports is more limited than the pattern tokenizer, but the tokenization is generally faster.

This tokenizer does not support splitting the input on a pattern match, unlike the pattern tokenizer. To split on pattern matches using the same restricted regular expression subset, see the simple_pattern_split tokenizer.

This tokenizer uses Lucene regular expressions. For an explanation of the supported features and syntax, see Regular Expression Syntax.

The default pattern is the empty string, which produces no terms. This tokenizer should always be configured with a non-default pattern.


The simple_pattern tokenizer accepts the following parameters:


Lucene regular expression, defaults to the empty string.

Example configurationedit

This example configures the simple_pattern tokenizer to produce terms that are three-digit numbers

PUT my_index
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "tokenizer": "my_tokenizer"
      "tokenizer": {
        "my_tokenizer": {
          "type": "simple_pattern",
          "pattern": "[0123456789]{3}"

POST my_index/_analyze
  "analyzer": "my_analyzer",
  "text": "fd-786-335-514-x"

The above example produces these terms:

[ 786, 335, 514 ]