【问题标题】:How to use Solr indexes from Elasticsearch如何使用 Elasticsearch 中的 Solr 索引
【发布时间】:2015-10-01 09:11:59
【问题描述】:
我使用Solr 进行索引和搜索。现在,我的新数据在elasticsearch 上被索引。如何使用 elasticsearch 中的 Solr 索引进行组合搜索?
由于 Solr 和 elasticsearch 都是基于 Apache Lucene 构建的,所以必须有一种方法/插件来使用来自 elasticsearch 的 Solr 索引,对吧?
我的尝试:
我为此找到了 river,但从 1.5.0 开始,在 elasticsearch 中河流是 deprecated。
【问题讨论】:
标签:
search
indexing
solr
elasticsearch
lucene
【解决方案1】:
您不能直接执行此操作(无需数据迁移),因为它们的内部结构/表示不兼容。他们的查询语言也不兼容。
但您也许可以在他们面前使用联合引擎,例如Carrot2。
【解决方案2】:
虽然两个搜索服务器都使用 Lucene(并且内部索引存储为 Lucene 索引),但它们在处理文档(如文档版本、分片策略、动态映射等)时使用 Lucene 的方式有很多不同,这将使得难以使用同一个索引的地方。如果您的数据存储在 SolR 实例中,您可能能够从 SolR 中提取它们并将它们推送到您的 ElasticSearch 中。
顺便说一下,河流给了你同样的限制:“只能从 Solr 中检索存储的字段,因此在 elasticsearch 中进行索引”