gpt4 book ai didi

python - search() 中的 Elasticsearch-py 无法识别 'analyzer' 参数

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:24 26 4
gpt4 key购买 nike

API 文档说 search(*args, **kwargs) 有一个名为 analyzer 的参数。但是下面的代码引发了一个异常:

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")

最佳答案

That parameter is only used (and accepted) when using the q parameter to search via a query string. In your case you need to specify the analyzer for the match query in the body[.]

在这个 github 问题中找到了答案:https://github.com/elastic/elasticsearch-py/issues/495

关于python - search() 中的 Elasticsearch-py 无法识别 'analyzer' 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40798042/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com