我正在使用Elasticsearch搜索索引文档。使用mongoosastic索引文档。我怎么能在查询中引用另一个索引,比如填充mongoose或加入SQL。 请帮我举个例子。
我有两个索引即项目和用户。在mongodb的项目集合中,指的是mongodb的用户集合。我正在使用elasticsearch搜索项目并获得结果。但我想在弹性搜索中引用用于在项目索引上触发的同一查询中的用户索引。那我怎么能从项目索引中引用用户索引呢。
答案 0 :(得分:1)
我认为您应该将所有数据放在同一个索引中,并按类型区分它们。
但是使用当前索引,您可以通过创建别名对两个索引执行唯一查询。别名可以在一个或多个索引(或别名)之上声明。因此,在您的情况下,在“用户”和“项目”索引之上创建索引,并在别名上执行查询。
官方文档(设置别名非常容易): http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-aliases.html
答案 1 :(得分:1)
您可以一次搜索多个索引。我正在使用这个
var collection = ['assets','users'];
var types = ['asset', 'user'];
asset.search({query_string: {query: data}},{index:collection, type: types}, function(err, results){
//your result here
});
我在mongodb中拥有用户和资产集合,mongoosastic为其创建索引用户和资产,并提供类型用户和资产。
上面的代码对我有用。希望这会有所帮助。