使用 Lucene/Solr/ElasticSearch 开箱即用的联合搜索

Out of the box federated search using Lucene/Solr/ElasticSearch

我有一个要求,当特定查询被提交到搜索服务器时,我想搜索两个或多个搜索索引。有没有一种方法可以让我在使用 Lucene/Solr/Elasticsearch? 如果这不可能,我正在尝试在 API 级别上设置一些内容,其中搜索索引从搜索客户端中抽象出来,在该搜索客户端中将查询提交给 API 和 API在引擎盖下 launces 搜索与两个或多个搜索索引并行并组合结果并将其发回?

这里的重点是,如果有这样的 API 框架可用,或者即使可以开箱即用或简单地使用 Lucene/Solr/Elasticsearch,我也不想重新发明轮子安装插件并配置它?

您可以使用 elasticsearch 轻松地做到这一点。 在搜索时,您可以使用逗号分隔格式提及索引名称,如下所示 -

curl -XPOST 'http://localhost:9200/index-a,index-b,index-c/_search -d '{
  "query": {
    "match_all": {}
  }
}'

为方便起见,您也可以使用aliases。别名可以绑定到多个索引名称,您可以使用一个别名与所有这些索引对话