我要求在将特定查询提交给搜索服务器时搜索两个或更多搜索索引。有没有一种方法可以集体搜索两个或多个搜索索引(所有这些索引都会对搜索到的同一个实体进行不同的索引),并在使用Lucene时获得一组响应(来自两个或多个搜索索引的响应) Solr的/ Elasticsearch? 如果这是不可能的,我试图在API级别设置一些东西,其中搜索索引从提交到API&的查询的客户端抽象出来。引擎盖下的API并行搜索两个或多个搜索索引,并将结果组合并发回去?
这里的要点是,如果有可用的API框架,或者即使可以使用Lucene / Solr / Elasticsearch开箱即用或只是安装一个插件和放大器,我也不想重新发明轮子。 ;配置它?
答案 0 :(得分:1)
您可以使用elasticsearch轻松完成此操作。 在搜索时,您可以用逗号分隔格式提及索引名称,如下所示 -
curl -XPOST 'http://localhost:9200/index-a,index-b,index-c/_search -d '{
"query": {
"match_all": {}
}
}'
为方便起见,您还可以使用aliases。别名可以绑定到多个索引名称,您可以使用单个别名与所有这些索引进行通信