В документе API указано, что search(*args, **kwargs)
имеет параметр analyzer
. Но следующий код вызывает исключение:Параметр «анализатор» Elasticsearch-py в поиске()
RequestError:TransportError(400, 'illegal_argument_exception', 'request [/test-index/content-field/_search] contains unrecognized parameter: [analyzer]')
from elasticsearch import Elasticsearch
from elasticsearch.client import IndicesClient
es = Elasticsearch()
res = es.search(index="test-index", doc_type='content-field',
body={"query": {"match": {"text": "微观文明"}}},
analyzer="ik_smart", size=3)
Следующий код, однако, возвращает правильный ответ.
i=IndicesClient(es)
res=i.analyze(index="test-index",body="我你大家",analyzer="ik_smart")