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

标签 solr elasticsearch lucene spring-data-elasticsearch federated

我有一个要求,当将特定查询提交到搜索服务器时,我想搜索两个或多个搜索索引。有没有一种方法可以在使用 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/

相关文章:

amazon-web-services - Elasticsearch 批量api-意外的输入结束:对象错误的预期结束标记

python-3.x - 错误 : No module named Elasticsearch

elasticsearch - Elasticsearch将范围和术语连接到同一数组项

java - 包含/(斜杠)的罗盘查询

java - 将数据存储在Lucene或数据库中

php - 使用来自 MySQL 中许多不同关系表的数据运行 Solr

java - 如何在Solr上存储java对象

apache - Solr 建议器没有结果

java - lucene 中的加密工具

ruby-on-rails - 太阳黑子和高级关联搜索