2016-11-25 4 views
3

В документе 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") 

ответ

Смежные вопросы