是否可以在 Apache Solr 中使用多个索引数据目录?

Is it possible to use multiple index data directory in Apache Solr?

我是 Apache 新手 Lucene/Solr。

我尝试从 Elasticsearch 迁移到 Apache Solr。

所以,我对以下索引数据位置配置有疑问。

在 Elasticsearch 中

# Can optionally include more than one lo # the locations (a la RAID 0) on a file l # space on creation. For example:
#
#path.data: /path/to/data1,/path/to/data2

在 Apache Solr 中

<dataDir>/var/data/solr/</dataDir>

我想在 Apache Solr 中配置多个索引数据目录,如 Elasticsearch。

可能吗?

我怎样才能达到目标?

Apache Solr 中是否可以使用多个索引数据目录?

Apache Solr 中是否可以使用多个索引数据目录?

How I can reach the goal?

这取决于您需要多个索引目录的原因。 默认情况下,solr 不支持使用 <dataDir>.

的多个索引位置

所以问题是:为什么需要它?

为了高可用性(对于这种情况,如果一个 storage/index-path 不可用?)?还是性能问题?要将磁盘 I/O 分布在多个驱动器上?

在这种情况下,您应该使用其他一些 solr features/products,例如 SolrCloud, distributed search

目前(2020 年 9 月)似乎没有办法用 Solr 配置它。

我同意从性能的角度来看,当主机有多个可用卷时,像使用 Cassandra、Elasticsearch 等一样传播数据将是有利的。

另一种方法是在一台主机上 运行 多个实例,但这有许多其他缺点。

或者,您必须使用 OS 级别的工具,例如 linux 中的 LVM,以创建分布在现有驱动器或文件系统中的卷。

因为我的文件系统是 pre-existing,所以我不得不使用 dd 创建稀疏文件,并使用 lvm 创建一个逻辑块设备来包裹这些文件。这不是最有效的做法,但有效。