# Transport Error 400 (parsing\_exception)

**URL:** <https://discuss.elastic.co/t/transport-error-400-parsing-exception/90407>\
**Category:** Elasticsearch\
**Created:** [June 22, 2017, 7:56am UTC](https://discuss.elastic.co/t/transport-error-400-parsing-exception/90407 "2017-06-22T07:56:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![utkgarg](https://avatars.discourse-cdn.com/v4/letter/u/e19b73/32.png) [@utkgarg](https://discuss.elastic.co/u/utkgarg)\
**Post date:** [June 22, 2017, 7:56am UTC](https://discuss.elastic.co/t/transport-error-400-parsing-exception/90407/1 "2017-06-22T07:56:42Z")

</div>

I was able to successfully index my database, but while searching, I get the following error( I searched for the letter 'i'). 'first\_name' is the name of a column in one of the models in PostGresql database in Django project. I am using django-haystack front-end for ease of use with Django:

```
Failed to query Elasticsearch using 'first_name:(i)': TransportError(400, u'parsing_exception', u'no [query] registered for [filtered]')
Traceback (most recent call last):
  File "/home/utkarsh/project/site/local/lib/python2.7/site-packages/haystack/backends/elasticsearch_backend.py", line 524, in search
    _source=True)
  File "/home/utkarsh/project/site/local/lib/python2.7/site-packages/elasticsearch/client/utils.py", line 73, in _wrapped
    return func(*args, params=params, **kwargs)
  File "/home/utkarsh/project/site/local/lib/python2.7/site-packages/elasticsearch/client/ __init__.py", line 623, in search
    doc_type, '_search'), params=params, body=body)
  File "/home/utkarsh/project/site/local/lib/python2.7/site-packages/elasticsearch/transport.py", line 312, in perform_request
    status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
  File "/home/utkarsh/project/site/local/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 128, in perform_request
    self._raise_error(response.status, raw_data)
  File "/home/utkarsh/project/site/local/lib/python2.7/site-packages/elasticsearch/connection/base.py", line 125, in _raise_error
    raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)
RequestError: TransportError(400, u'parsing_exception', u'no [query] registered for [filtered]')
Failed to query Elasticsearch using 'body:(i)': TransportError(400, u'parsing_exception', u'no [query] registered for [filtered]')
Traceback (most recent call last):
  File "/home/utkarsh/project/site/local/lib/python2.7/site-packages/haystack/backends/elasticsearch_backend.py", line 524, in search
    _source=True)
  File "/home/utkarsh/project/site/local/lib/python2.7/site-packages/elasticsearch/client/utils.py", line 73, in _wrapped
    return func(*args, params=params, **kwargs)
  File "/home/utkarsh/project/site/local/lib/python2.7/site-packages/elasticsearch/client/ __init__.py", line 623, in search
    doc_type, '_search'), params=params, body=body)
  File "/home/utkarsh/project/site/local/lib/python2.7/site-packages/elasticsearch/transport.py", line 312, in perform_request
    status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
  File "/home/utkarsh/project/site/local/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 128, in perform_request
    self._raise_error(response.status, raw_data)
  File "/home/utkarsh/project/site/local/lib/python2.7/site-packages/elasticsearch/connection/base.py", line 125, in _raise_error
    raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)
RequestError: TransportError(400, u'parsing_exception', u'no [query] registered for [filtered]')
[22/Jun/2017 12:59:53] "GET /shocksnmocks/searchnews/?search_text=i&_=1498116587943 HTTP/1.1" 200 1192
```

---

<div class="post-metadata">

**Author:** ![utkgarg](https://avatars.discourse-cdn.com/v4/letter/u/e19b73/32.png) [@utkgarg](https://discuss.elastic.co/u/utkgarg)\
**Post date:** [June 22, 2017, 10:55am UTC](https://discuss.elastic.co/t/transport-error-400-parsing-exception/90407/2 "2017-06-22T10:55:32Z")

</div>

Is it because I have empty rows in the 'first\_name' column?

---

<div class="post-metadata">

**Author:** ![utkgarg](https://avatars.discourse-cdn.com/v4/letter/u/e19b73/32.png) [@utkgarg](https://discuss.elastic.co/u/utkgarg)\
**Post date:** [June 25, 2017, 10:54am UTC](https://discuss.elastic.co/t/transport-error-400-parsing-exception/90407/3 "2017-06-25T10:54:41Z")

</div>

I was facing this error because django-haystack is not compatible with Elasticsearch version 5. It is running smoothly with an older version.

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [June 26, 2017, 6:58am UTC](https://discuss.elastic.co/t/transport-error-400-parsing-exception/90407/4 "2017-06-26T06:58:22Z")

</div>

Hey,

the string `no [query] registered for [filtered]` in the exception is the key. I think you are using a old `filtered` query, that worked in 2.x, but does not in 5.x. Instead of using a `filtered` query consisting of a `query` and a `filter`, you can now use a bool query like this

```auto
"bool": {
  "must" : [YOUR_QUERY],
  "filter" : {YOUR_FILTER}
}

```

Hope this helps!

--Alex

---

<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 24, 2017, 6:58am UTC](https://discuss.elastic.co/t/transport-error-400-parsing-exception/90407/5 "2017-07-24T06:58:25Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
