gpt4 book ai didi

ruby-on-rails - ElasticSearch 搜索多种类型

转载 作者:行者123 更新时间:2023-12-02 23:41:54 25 4
gpt4 key购买 nike

我正在使用带有 Tire 的 Rails gem(用于 ElasticSearch),我需要跨多个模型进行搜索。就像是:

# title is a field in all models
Tire.search :tasks, :projects, :posts, { :title => "word" }

我知道我可以一个一个地搜索模型然后处理这些结果,但是考虑到 ElasticSearch(Lucene) 是面向文档的,这应该是不必要的。

有什么想法吗?

谢谢,

最佳答案

一种可能性是将它们视为不同的模型。复合模型可以是每个文档都可以是属于一个或多个不同子模型的项目,这些子模型由可以多值的字符串常量标识。

如果您只想从其中一个子模型中检索结果,您可以在查询中添加一个固定部分,以标识属于该子模型的文档集。

唯一需要注意的是,您需要有一个唯一的主键(这还不错,因为您可以使用诸如隐式文档键之类的东西)。

关于ruby-on-rails - ElasticSearch 搜索多种类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6571316/

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