如何调用
POST my_index/_analyze
{
"analyzer": "german_analyzer",
"text": "kann"
}
在 python Elasticsearch 6.x api 中?
我试过了
def get_es():
# Variables for Elasticsearch host+port
es_host = 'localhost'
es_port = 9200
from elasticsearch import Elasticsearch
es = Elasticsearch([{'host': es_host, 'port': es_port}])
return es
if __name__ == '__main__':
es = get_es()
body={
"analyzer": "german_analyzer",
"text": "kann"
}
result = es.search(index="faq-kbaid-de-index", body=body,
size=1)
i=1
它给出异常
elasticsearch.exceptions.RequestError: RequestError(400, 'parsing_exception', 'Unknown key for a VALUE_STRING in [analyzer].')
最佳答案
es.search()
调用 _search
。您可以通过 elasticsearch.client.IndicesClient 调用 _analyze
.将 .search
行替换为
result = es.indices.analyze(index="faq-kbaid-de-index", body=body,
size=1)
关于python-3.x - 使用 python 为 elasticsearch 6.x 调用_analyze,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53828010/