elasticsearch-py: helpers.scan: TypeError: search() got an unexpected keyword argument 'doc_type'

I’m using helpers.scan function to retrieve data. I passed in doc_type = log to it (following the online resource here). But I got this error:

<ipython-input-53-dffeaecb48f3> in export(self, outputFiles, host, indexDbName, docType, queryString, queryJson, size, fields, delimiter)
     41             w.writeheader()
     42             try:
---> 43                 for row in scanResponse:
     44                     for key,value in row['_source'].iteritems():
     45                         row['_source'][key] = unicode(value)

C:\ProgramData\Anaconda3\lib\site-packages\elasticsearch\helpers\actions.py in scan(client, query, scroll, raise_on_error, preserve_order, size, request_timeout, clear_scroll, scroll_kwargs, **kwargs)
    431     # initial search
    432     resp = client.search(
--> 433         body=query, scroll=scroll, size=size, request_timeout=request_timeout, **kwargs
    434     )
    435     scroll_id = resp.get("_scroll_id")
C:\ProgramData\Anaconda3\lib\site-packages\elasticsearch\client\utils.py in _wrapped(*args, **kwargs)
     82                 if p in kwargs:
     83                     params[p] = kwargs.pop(p)
---> 84             return func(*args, params=params, **kwargs)
     85 
     86         return _wrapped

TypeError: search() got an unexpected keyword argument 'doc_type'

I use ‘log’ as the doctype and I’m using elasticsearch server 6.3.0 Did I set the doctype wrong? Thank you!

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 2
  • Comments: 19 (6 by maintainers)

Most upvoted comments

If you’re using the 7.x version of this library with a cluster of elasticsearch pre 7 you will be having problems because the removal of doc_type from ES. I’ve cleaned up the code and pushed a 7.0.1 version of the client a little bit ago which should be working with all functionalities of Elasticsearch.

If you want to use the scan helper on ES 7 it does work, using the data created in the examples directory of this repo we can run a scan like so:

 from elasticsearch.helpers import scan

 results = scan(
        client,
        query={
            "query": {
                "bool": {
                    "must": {"match": {"description": "fix"}},
                    "must_not": {"term": {"files": "test_elasticsearch"}},
                }
            }
        },
        index="git",
    )
    for result in results:
    print_hit(result)

If you want to use the 7.x version of this library you must upgrade your cluster to 7.x If you can’t yet upgrade your cluster to 7.x, then please for now, keep using the 6.x version of this library.

got the same problem after the update from elasticsearch==6.3.1 to elasticsearch==7.0.0

You using python 2 😂😂😂. By the way, it worked when I remove doc_type argument. Will see if I can carry on with this.

On Fri, May 24, 2019, 2:01 PM browningtekum <notifications@github.com wrote:

Same error. using django 1.11 python 2.7 Watching for any fixes

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/elastic/elasticsearch-py/issues/930?email_source=notifications&email_token=AKKLEUATCHHTXXN3MJG73L3PW6RV3A5CNFSM4HGHPJGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWERCMQ#issuecomment-495522098, or mute the thread https://github.com/notifications/unsubscribe-auth/AKKLEUCXTPUXHEF6JDWTQITPW6RV3ANCNFSM4HGHPJGA .

Hey Any updates on the issue??

Cheers!!

any news here?