java - Infinispan - 使用索引加载数据非常慢。可以做得更快吗?

标签 java jboss lucene hibernate-search infinispan

  • 我正在尝试使用 Infinispan 缓存以仅本地缓存模式存储 Java 对象。
  • 我想查询两个键以及一些字段。所以我使用Infinispan的查询/索引模块。
  • 索引字段的查找性能非常好。然而,与没有索引的情况相比,加载缓存中的所有项目需要花费大量时间。
  • 例如对于大约 50k 对象,使用 Indexing Infinispan 需要 10 分钟才能将项目加载到缓存中。没有索引,只花了 2 秒。
  • 我想知道 Infinispan 在索引后是否这么慢,或者我是否做了一些严重错误的事情。
Configuration infinispanConfiguration = new ConfigurationBuilder()
      .indexing()
         .enable()
         .indexLocalOnly(true)
      .build();

DefaultCacheManager cacheManager = new DefaultCacheManager(infinispanConfiguration)

;

    @Indexed @ProvidedId
    public class Book {
       @Field String title;
       @Field String description;
       @Field String author;
       @Field int yearOfPublication ;
       String briefDescription;
       int edition;
       boolean isBestSeller;
    }

最佳答案

如您所知,当您使用索引模块时,Infinispan 使用 Hibernate Search 和 Apache Lucene。

根据您的配置,您将使用 Lucene 索引的默认值。您可以指定许多选项来提高索引性能。

您可以引用以下内容了解更多信息

[1] https://docs.jboss.org/author/display/ISPN/Querying+Infinispan [2]http://docs.jboss.org/hibernate/stable/search/reference/en-US/html_single/#lucene-indexing-performance

关于java - Infinispan - 使用索引加载数据非常慢。可以做得更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10090361/

相关文章:

android - 开发 Java 跨平台库(移动和 Web)

java - 如何根据列表中的元素对映射中的键进行排序

java - 迁移到 JBoss 6.1,为 cxf 添加 spring

search - 如果在 lucene 搜索中包含单个搜索词字段,如何排除该项目?

java - 如何获取Lucene TopDocs中文档的唯一计数?

java - 如何从 HashMap<String, String> 中过滤 "Null"值?

java - 如何将现有的 Java 项目添加到 Git 存储库

spring - Wildfly 在启动时抛出 UnsupportedOperationException(命名上下文是只读的)

java - JBoss 在启动时挂起

elasticsearch - 针对结果返回的文档在 Elasticsearch 插件中获取字段值