# Elastic search dsl python analyze api

**URL:** <https://discuss.elastic.co/t/elastic-search-dsl-python-analyze-api/143783>\
**Category:** Elasticsearch\
**Created:** [August 10, 2018, 2:29am UTC](https://discuss.elastic.co/t/elastic-search-dsl-python-analyze-api/143783 "2018-08-10T02:29:07Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![nikitag](https://avatars.discourse-cdn.com/v4/letter/n/ce7236/32.png) [@nikitag](https://discuss.elastic.co/u/nikitag)\
**Post date:** [August 10, 2018, 2:29am UTC](https://discuss.elastic.co/t/elastic-search-dsl-python-analyze-api/143783/1 "2018-08-10T02:29:07Z")

</div>

How to make use of default \_analyze in elastic search dsl python?

My query looks like below:

```auto
query = Q('regexp', field_name = "f04((?!z).)*")
search_obj = Search(using = conn, index = index_name, doc_type = type_name).query(query)
response = search_obj[0:count].execute()

```

Where do i put `analyze() method` so that i get to see how my `"f04((?!z).)*"` is getting broken into terms? Actually it seems like `'!'` doesn't work as regex. How do i change the anaylzer if default analyzer is unable to take `'!'` as regexp character?

I'm very new to use, finding little hard to accurately put analyze method in my code. PLease help.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [August 10, 2018, 8:24pm UTC](https://discuss.elastic.co/t/elastic-search-dsl-python-analyze-api/143783/2 "2018-08-10T20:24:28Z")

</div>


