2
  • Java オブジェクトをローカル キャッシュのみのモードで格納するために、Infinispan キャッシュを試しています。
  • 両方のキーといくつかのフィールドに対してクエリを実行したい。そのため、Infinispan のクエリ/インデックス モジュールを使用しています。
  • インデックス付きフィールドでのルックアップ パフォーマンスは非常に優れています。ただし、すべてのアイテムをキャッシュに読み込むには、インデックスを作成しない場合に比べて膨大な時間がかかります。
  • たとえば、約 50k オブジェクトの場合、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;
    }
4

2 に答える 2

2

ご存じのように、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-インデックス作成パフォーマンス

于 2012-04-10T18:56:09.767 に答える
0

同じ問題がありました。

25000 本 (Infinispan ユーザー ガイドより) の挿入に 361 秒かかりました

ConfigurationBuilder config = new ConfigurationBuilder();
config.indexing().index(Index.LOCAL);

25000 冊の本を挿入するのに 1.6 秒かかりました

ConfigurationBuilder config = new ConfigurationBuilder().indexing().setProperty("default.directory_provider", "ram").setProperty("default.indexmanager", "near-real-time");
config.indexing().index(Index.LOCAL);
于 2015-08-31T07:56:37.037 に答える