gpt4 book ai didi

java - 如何在 Infinispan 中加载现有的 Lucene 索引?

转载 作者:太空宇宙 更新时间:2023-11-04 14:44:48 25 4
gpt4 key购买 nike

在我的 Infinispan 6.0.2 系统中,我在缓存中添加了一些数据并使用 lucene 对其进行索引。它对于搜索部分效果很好。

但是由于缓存存在于服务器中,有时当服务器崩溃时,我需要重新加载数据并建立索引。这需要很长时间。

然后我发现Infinispan可以将索引存储在数据库中并从现有的Lucene索引加载。我认为这应该可以解决我的问题。但Infinispan用户指南中的信息很少,我不知道该怎么做。有人能给我举个例子吗???

最佳答案

Infinispan 包含高度可扩展的分布式 Apache Lucene Directory 实现。创建目录实例:

import org.apache.lucene.store.Directory;
import org.infinispan.lucene.directory.DirectoryBuilder;
import org.infinispan.Cache;

Cache cache = // create an Infinispan cache, configured as you like
Directory indexDir = DirectoryBuilder.newDirectoryInstance(cache, cache, cache, indexName)
.create();

indexName 是识别索引的唯一键。它的作用与路径在基于文件系统的索引上的作用相同:您可以创建几个不同的索引,并给它们不同的名称。当您在连接到同一网络的另一个实例中使用相同的indexName(或在同一台机器上实例化,对测试有用)时,它们将加入,形成一个集群并共享所有内容。使用不同的indexName可以让您在同一组缓存中存储不同的索引。

在此示例中,缓存被传递了三次,因为这对于快速演示来说是可以的,但正如 API 所建议的那样,最好单独调整每个缓存,因为它们将以不同的方式使用。下面提供了更多详细信息。

可以动态添加或删除新节点,使服务管理变得非常容易,并且也适合云环境:对负载峰值使用react很简单,因为只需启动更多内存和 CPU 能力即可向搜索系统添加更多内存和 CPU 能力节点。

引用documentationAPI reference了解详情

关于java - 如何在 Infinispan 中加载现有的 Lucene 索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24534085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com