gpt4 book ai didi

python - django-elasticsearch-dsl : how to search across multiple documents?

转载 作者:行者123 更新时间:2023-12-04 17:19:13 24 4
gpt4 key购买 nike

我在 Django 中有几个 ElasticSearch 文档,每个文档都描述了不同类型的对象:“MovieDoc”、“CartoonDoc”等。现在,我可以单独搜索每个此类文档:

document = MovieDoc
results = document.search().query('some phrase')

但是,如果我想立即搜索所有文档,并根据相关性对结果进行排序(即不搜索每个单独的文档然后合并)怎么办?

我已经尝试过基于 documentation 的类似方法elasticsearch-dsl,但这没有产生任何结果:

from elasticsearch_dsl import Search    
results = Search(index=['movie_docs', 'cartoon_docs']).query('some phrase')

最佳答案

您可以使用通配符 (*) 作为索引来搜索所有文档。

实现细节可能会随着时间而改变。请参阅 Multi-target syntax 上的文档获取有关您的 Elasticsearch 版本的信息。

from elasticsearch import Elasticsearch
from elasticsearch_dsl import Search

client = Elasticsearch()

s = Search(using=client, index="*")

response = s.execute()

for hit in response:
print(hit)

关于python - django-elasticsearch-dsl : how to search across multiple documents?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67228836/

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