gpt4 book ai didi

python - 使用源过滤器进行elasticsearch-py搜索

转载 作者:行者123 更新时间:2023-12-01 03:31:57 26 4
gpt4 key购买 nike

我正在使用elasticsearch-py(es版本是2.3),并且想仅返回索引中所有文档的“标题”字段以及映射: Actor 、导演、流派、情节、标题、年份。

我目前正在尝试messages = es.search(index="movies", _source=['hits.hits.title']),得到的响应是:

{u'hits': {u'hits': [{u'_score': 1.0, u'_type': u'movie', u'_id': u'tt0116996', u'_source ': {}, u'_index': u'电影'}, {u'_score': 1.0, u'_type': u'电影', u'_id': u'1', u'_source': { }, u'_index': u'电影'}], u'total': 2, u'max_score': 1.0}, u'_shards': {u'成功': 1, u'失败': 0, u 'total': 1}, u'took': 2, u'timed_out': False}

我尝试了不同版本的过滤器路径和源字段列表,但似乎无法正确使用。

最佳答案

您可以通过以下方式应用源过滤:

messages = es.search(index="movies", _source=["title"])

但您仍然需要解析响应。为此,您可以执行以下操作:

titles = [hit["title"] for hit in messages["hits"]["hits"]["_source"]]]

elasticsearch-py API 中没有任何内容(据我所知)可以简化从 Elasticsearch 获得的相当冗长的响应。

关于python - 使用源过滤器进行elasticsearch-py搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40871180/

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