# Altering the standard analyzer

**URL:** <https://discuss.elastic.co/t/altering-the-standard-analyzer/29677>\
**Category:** Elasticsearch\
**Created:** [September 21, 2015, 7:32am UTC](https://discuss.elastic.co/t/altering-the-standard-analyzer/29677 "2015-09-21T07:32:33Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![lasseschou](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lasseschou/32/845_2.png) [@lasseschou](https://discuss.elastic.co/u/lasseschou)\
**Post date:** [September 21, 2015, 7:32am UTC](https://discuss.elastic.co/t/altering-the-standard-analyzer/29677/1 "2015-09-21T07:32:33Z")

</div>

I want to create `custom analyzers` for my solution. One of them needs to be very close to the standard analyzer, but handle dots (.) differently.

I've read the documentation on the [built-in analyzers](https://www.elastic.co/guide/en/elasticsearch/guide/current/analysis-intro.html) and how to create [custom analyzers](https://www.elastic.co/guide/en/elasticsearch/guide/current/custom-analyzers.html). But what I'm missing is the following:

- An exact description of the **Standard** analyzer, including character filters, tokenizers and token filters.
- An exact description of the **Simple** analyzer, including character filters, tokenizers and token filters.

Ideally, I'd like to see a complete PUT /my-index {"settings", ...} call (like in the custom analyzers doc).

Thanks!

---

<div class="post-metadata">

**Author:** ![n0othing](https://avatars.discourse-cdn.com/v4/letter/n/b2d939/32.png) [@n0othing](https://discuss.elastic.co/u/n0othing)\
**Post date:** [September 22, 2015, 8:12pm UTC](https://discuss.elastic.co/t/altering-the-standard-analyzer/29677/2 "2015-09-22T20:12:31Z")

</div>

**[Standard Analyzer](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-standard-analyzer.html?q=standard)** - built using the Standard Tokenizer with the Standard Token Filter, Lower Case Token Filter, and Stop Token Filter. I could recreate it like so:

```
{
    "type": "custom",
    "tokenizer": "standard",
    "filter": ["standard", "lowercase", "stop"]
}

```

**[Simple Analyzer](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-simple-analyzer.html)** - built using a Lower Case Tokenizer. I could recreate it like so:

```
{
    "type": "custom",
    "tokenizer": "lowercase"
}

```

Putting it into a complete example:

```
PUT /my-index
{
  "settings": {
    "analysis": {
      "analyzer": {
        "custom_standard": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": [
            "standard",
            "lowercase",
            "stop"
          ]
        },
        "custom_simple": {
          "type": "custom",
          "tokenizer": "lowercase"
        }
      }
    }
  },
  "mappings": {
    "my_type": {
      "properties": {
        "field1": {
          "type": "string",
          "analyzer": "custom_standard"
        },
        "field2": {
          "type": "string",
          "analyzer": "custom_simple"
        }
      }
    }
  }
}

```

---

<div class="post-metadata">

**Author:** ![lasseschou](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lasseschou/32/845_2.png) [@lasseschou](https://discuss.elastic.co/u/lasseschou)\
**Post date:** [September 23, 2015, 6:28am UTC](https://discuss.elastic.co/t/altering-the-standard-analyzer/29677/3 "2015-09-23T06:28:40Z")

</div>

Thanks so much, very helpful.

I want to create a clone of the standard analyzer, the only difference  
being that it tokenizes words with '.' inside. Example:

[www.test.com](http://www.test.com)

Should be tokenized into www, test and com.

Can you help me create the mapping code for that? Thanks!

Lasse

Den tirsdag den 22. september 2015 skrev Robbie Ogburn \<  
noreply@discuss.elastic.co\>:

---

<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 5, 2017, 11:48pm UTC](https://discuss.elastic.co/t/altering-the-standard-analyzer/29677/4 "2017-07-05T23:48:35Z")

</div>


