<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)
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!
Thanks for the issue. I'll look into it.
FYI while using elasticsearch-py you should be matching major versions. I can't make any guarantee that using es-py==7 will work with older version of Elasticsearch.
There is a package released now you can install elasticsearch6 for a package that's designed to work with Elasticsearch 6.x.
https://github.com/elastic/elasticsearch-py#compatibility
Thanks for the reply
So you mean it may be the version issue but not the code
but is it still matter when I call the elasticsearch host rather than the localhost
Thanks a lot
@qilds123 well it IS the code, but starting in ES 7 doc_types are being phased out. The doc type _doc is default, and is used in all urls communicating with an ES 7 cluster. In ES8 the _doc doc_type is going away completely.
When I released v7 of this project, I change requirement of using doc_type as a required positional argument in each method to being an optional kwarg with a default of _doc. But turns out I removed it from search() but I had a gap in my testing :( SO it didn't get spotted before releasing 7.0.0.
@fxdgear Hey, I am on version 7.0.1, but the error is still there for me. What can I do?
>>> es.search(index='my_index', doc_type='my_index',
... body={'query': {'match': {'text': 'this test'}}})
Traceback (most recent call last):
File "<console>", line 2, in <module>
File "/home/haider/Desktop/online courses/microblog/venv/lib/python3.7/site-packages/elasticsearch/client/utils.py", line 84, in _wrapped
return func(*args, params=params, **kwargs)
TypeError: search() got an unexpected keyword argument 'doc_type'
>>> es.search(index='my_index', doc_type='my_index', body={'query': {'match': {'text': 'this test'}}})
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/haider/Desktop/online courses/microblog/venv/lib/python3.7/site-packages/elasticsearch/client/utils.py", line 84, in _wrapped
return func(*args, params=params, **kwargs)
TypeError: search() got an unexpected keyword argument 'doc_type'
And this is how I set the index:
>>> es.index(index='my_index', doc_type='my_index', id=1, body={'text': 'this is a test'})
{'_index': 'my_index', '_type': 'my_index', '_id': '1', '_version': 1, 'result': 'created', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 0, '_primary_term': 1}
>>> es.index(index='my_index', doc_type='my_index', id=2, body={'text': 'a second test'})
{'_index': 'my_index', '_type': 'my_index', '_id': '2', '_version': 1, 'result': 'created', '_shards': {'total': 2, 'successful': 1, 'failed': 0}, '_seq_no': 1, '_primary_term': 1}
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 ***@***.*** 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
<
#930?email_source=notifications&email_token=AKKLEUATCHHTXXN3MJG73L3PW6RV3A5CNFSM4HGHPJGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWERCMQ#issuecomment-495522098>,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AKKLEUCXTPUXHEF6JDWTQITPW6RV3ANCNFSM4HGHPJGA>
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.
es.search(index='my_index', doc_type='my_index',body={'query': {'match': {'text': 'this test'}}})
Traceback (most recent call last):
File "", line 1, in
File "D:\Myproject\Python\Flask\Flask-Microblog\venv\lib\site-packages\elasticsearch\client\utils.py", line 84, in _wrapped
return func(*args, params=params, **kwargs)
TypeError: search() got an unexpected keyword argument 'doc_type'