python-3.x - 使用 python 为 elasticsearch 6.x 调用_analyze

标签 python-3.x elasticsearch

如何调用

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/

相关文章:

Python Pydantic - 如何拥有 "optional"字段,但如果存在则需要符合非 None 值?

ElasticSearch (NEST) 按数字搜索

amazon-web-services - AWS IoT规则-Elasticsearch的时间戳

python - Pyrebase.storage() - 无效的 HTTP 方法/URL 对

python - python3中的函数类型是什么

python - 我已经附上了我的代码。请查看并告诉我错误的原因。解释一下?

Python 列表理解技巧

elasticsearch - 如何检查 ElasticSearch BulkProcessor 服务是否存在

spring-boot - java中可用于 Elasticsearch 的不同客户端有哪些?

java - ElasticSearch使字段无法从Java搜索