我有一个要求,当将特定查询提交到搜索服务器时,我想搜索两个或多个搜索索引。有没有一种方法可以在使用 Lucene/Solr/ Elasticsearch ?
如果这是不可能的,我正在尝试在 API 级别上设置一些东西,其中搜索索引从搜索客户端中抽象出来,查询提交给 API 和引擎盖下的 API 将搜索与两个或多个搜索并行索引并组合结果并将其发送回?
这里的重点是,如果有这样的 API 框架可用,或者即使可以开箱即用地使用 Lucene/Solr/Elasticsearch 或者只需安装插件并配置它,我也不想重新发明轮子?
最佳答案
您可以使用 elasticsearch 轻松做到这一点。
在搜索时,您可以以逗号分隔的格式提及索引名称,如下所示 -
curl -XPOST 'http://localhost:9200/index-a,index-b,index-c/_search -d '{
"query": {
"match_all": {}
}
}'
为方便起见,您也可以使用 aliases .别名可以绑定(bind)到多个索引名称,您可以使用单个别名与所有这些索引进行对话
关于solr - 使用 Lucene/Solr/ElasticSearch 的开箱即用联合搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29505475/