# Combine TokenFilter?

**URL:** <https://discuss.elastic.co/t/combine-tokenfilter/13659>\
**Category:** Elasticsearch\
**Created:** [September 17, 2013, 9:24pm UTC](https://discuss.elastic.co/t/combine-tokenfilter/13659 "2013-09-17T21:24:24Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jonm](https://avatars.discourse-cdn.com/v4/letter/j/6f9a4e/32.png) [@jonm](https://discuss.elastic.co/u/jonm)\
**Post date:** [September 17, 2013, 9:24pm UTC](https://discuss.elastic.co/t/combine-tokenfilter/13659/1 "2013-09-17T21:24:24Z")

</div>

I want a TokenFilter that combines the tokens produced by mutliple other TokenFilters, so that I can create a single field that is tokenized multiple different ways. e.g. a filter section like:

```
"filter":{
    "prefix_ngram": {
        "min_gram": 1,
        "max_gram": 15,
        "type": "edgeNGram"
    },
    "word_splitter": {
        "type": "pattern_capture",
        "patterns": ["([a-z]+)([0-9.]+)","\\(([^)]+)\\)"],
        "preserve_original": 1
    },
    "all_tokens": {
        "type": "combine",
        "filters": ["prefix_ngram", "word_splitter"],
        "unique": true  
    }
}
```

I looked but couldn't find anything like this. Is it easy to create?

As a workaround, I've indexed with a document structure that has the same field repeated with multiple different analyzers, and then used a multi\_match query, but it would be more elegant / efficient to store all the different tokenizations in a single field.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 2:15am UTC](https://discuss.elastic.co/t/combine-tokenfilter/13659/2 "2017-07-06T02:15:54Z")

</div>


