繁体   English   中英

ElasticSearch 搜索多种类型

[英]ElasticSearch search on many types

我将 Rails 与Tire gem(用于 ElasticSearch)一起使用,我需要在多个模型中进行搜索。 就像是:

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

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

有什么想法吗?

谢谢,

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM