1

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

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

4

1 回答 1

1

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

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

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

于 2015-04-08T04:20:17.483 回答