作为重构项目的一部分,我将我们的查询端移至 ElasticSearch。目标是最终将索引端也重构为 ES,但这非常复杂,并且索引部分运行稳定,因此优先级较低。
这会导致使用 Solr 创建/索引 Lucene 索引并使用 Elasticsearch 查询的情况。据我了解,这应该是可能的,因为 ES 和 SOlR 都创建了与 Lucene 兼容的索引。
可以肯定的是,除了 ES 中的一些内务处理以指向正确的索引之外,在执行此操作时是否应该注意任何不可预见的问题?
作为重构项目的一部分,我将我们的查询端移至 ElasticSearch。目标是最终将索引端也重构为 ES,但这非常复杂,并且索引部分运行稳定,因此优先级较低。
这会导致使用 Solr 创建/索引 Lucene 索引并使用 Elasticsearch 查询的情况。据我了解,这应该是可能的,因为 ES 和 SOlR 都创建了与 Lucene 兼容的索引。
可以肯定的是,除了 ES 中的一些内务处理以指向正确的索引之外,在执行此操作时是否应该注意任何不可预见的问题?
你是对的,Lucene 索引是 elasticsearch 索引的一部分。但是,您需要考虑弹性搜索索引还包含弹性搜索特定的索引元数据,这些元数据必须重新创建。元数据中最棘手的部分是映射,它必须与您关心的所有字段的 Solr 模式精确匹配,并且对于某些数据类型可能并不容易。此外,elasticsearch 期望在索引中找到某些内部字段。_uid
例如,如果没有为每条记录索引和存储字段,它将无法运行。
最后,即使您克服了所有这些障碍,您最终可能会得到相当脆弱的解决方案,并且您将无法利用许多高级弹性搜索功能。我建议先研究迁移索引部分。
你见过ElasticSearch Mock Solr 插件吗?我认为它可能会在迁移过程中对您有所帮助。