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

时间:2015-04-08 03:36:53

标签: solr elasticsearch lucene spring-data-elasticsearch federated

我要求在将特定查询提交给搜索服务器时搜索两个或更多搜索索引。有没有一种方法可以集体搜索两个或多个搜索索引(所有这些索引都会对搜索到的同一个实体进行不同的索引),并在使用Lucene时获得一组响应(来自两个或多个搜索索引的响应) Solr的/ Elasticsearch? 如果这是不可能的,我试图在API级别设置一些东西,其中搜索索引从提交到API&的查询的客户端抽象出来。引擎盖下的API并行搜索两个或多个搜索索引,并将结果组合并发回去?

这里的要点是,如果有可用的API框架,或者即使可以使用Lucene / Solr / Elasticsearch开箱即用或只是安装一个插件和放大器,我也不想重新发明轮子。 ;配置它?

1 个答案:

答案 0 :(得分:1)

您可以使用elasticsearch轻松完成此操作。 在搜索时,您可以用逗号分隔格式提及索引名称,如下所示 -

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

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