2

我正在使用 Elasticsearch 搜索索引文档。使用 mongoosastic 对文档进行索引。我如何在查询中引用另一个索引,例如在 mongoose 中填充或在 SQL 中加入。请帮我举个例子。

我有两个索引,即项目和用户。在mongodb的项目集合中,指的是mongodb的用户集合。我正在使用 elasticsearch 搜索项目并获得结果。但我想在项目索引上触发的同一查询中引用弹性搜索中的用户索引。那么我如何从项目索引中引用用户索引。

4

2 回答 2

1

我认为您应该将所有数据放在同一个索引中,并按类型区分它们。

但是使用您当前的索引,您可以通过创建别名来对两个索引执行唯一查询。可以在一个或多个索引(或别名)之上声明别名。因此,在您的情况下,在您的“用户”和“项目”索引之上创建一个索引,并在别名上执行您的查询。

官方文档(设置别名非常容易): http ://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-aliases.html

于 2014-12-12T13:55:59.590 回答
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 为其创建索引用户和资产并提供类型用户和资产。

上面的代码对我有用。希望这可以帮助。

于 2015-03-25T04:46:37.493 回答