Package org.hibernate.search.store.optimization.impl

Examples of org.hibernate.search.store.optimization.impl.IncrementalOptimizerStrategy


    else {
      boolean incremental = optimizerCfg.containsKey( "operation_limit.max" )
        || optimizerCfg.containsKey( "transaction_limit.max" );
      OptimizerStrategy optimizerStrategy;
      if ( incremental ) {
        optimizerStrategy = new IncrementalOptimizerStrategy();
        optimizerStrategy.initialize( callback, optimizerCfg );
      }
      else {
        optimizerStrategy = new ExplicitOnlyOptimizerStrategy();
      }
View Full Code Here


    else {
      boolean incremental = optimizerCfg.containsKey( "operation_limit.max" )
        || optimizerCfg.containsKey( "transaction_limit.max" );
      OptimizerStrategy optimizerStrategy;
      if ( incremental ) {
        optimizerStrategy = new IncrementalOptimizerStrategy();
        optimizerStrategy.initialize( callback, optimizerCfg );
      }
      else {
        optimizerStrategy = new ExplicitOnlyOptimizerStrategy();
      }
View Full Code Here

  public static OptimizerStrategy getOptimizerStrategy(IndexManager callback, Properties indexProps) {
    boolean incremental = indexProps.containsKey( "optimizer.operation_limit.max" )
        || indexProps.containsKey( "optimizer.transaction_limit.max" );
    OptimizerStrategy optimizerStrategy;
    if ( incremental ) {
      optimizerStrategy = new IncrementalOptimizerStrategy();
      optimizerStrategy.initialize( callback, indexProps );
    }
    else {
      optimizerStrategy = new NoOpOptimizerStrategy();
    }
View Full Code Here

    else {
      boolean incremental = maskedProperty.containsKey( "operation_limit.max" )
          || maskedProperty.containsKey( "transaction_limit.max" );
      OptimizerStrategy optimizerStrategy;
      if ( incremental ) {
        optimizerStrategy = new IncrementalOptimizerStrategy();
        optimizerStrategy.initialize( callback, maskedProperty );
      }
      else {
        optimizerStrategy = new ExplicitOnlyOptimizerStrategy();
      }
View Full Code Here

  public static OptimizerStrategy getOptimizerStrategy(IndexManager callback, Properties indexProps) {
    boolean incremental = indexProps.containsKey( "optimizer.operation_limit.max" )
        || indexProps.containsKey( "optimizer.transaction_limit.max" );
    OptimizerStrategy optimizerStrategy;
    if ( incremental ) {
      optimizerStrategy = new IncrementalOptimizerStrategy();
      optimizerStrategy.initialize( callback, indexProps );
    }
    else {
      optimizerStrategy = new ExplicitOnlyOptimizerStrategy();
    }
View Full Code Here

    else {
      boolean incremental = maskedProperty.containsKey( "operation_limit.max" )
          || maskedProperty.containsKey( "transaction_limit.max" );
      OptimizerStrategy optimizerStrategy;
      if ( incremental ) {
        optimizerStrategy = new IncrementalOptimizerStrategy();
        optimizerStrategy.initialize( callback, maskedProperty );
      }
      else {
        optimizerStrategy = new ExplicitOnlyOptimizerStrategy();
      }
View Full Code Here

    OptimizerStrategy optimizerStrategy = indexManager.getOptimizerStrategy();
    Assert.assertTrue( "Unexpected optimizer strategy", optimizerStrategy instanceof IncrementalOptimizerStrategy );

    // let's start the actual test
    IncrementalOptimizerStrategy strategy = (IncrementalOptimizerStrategy) optimizerStrategy;
    assertEquals( "Initially no optimisation should have been performed", 0, strategy.getOptimizationsPerformed() );

    Session session = openSession();
    //check that optimization is triggered periodically as configured
    long optimizationsPerformed = 0l;
    for ( int i = 0; i < 20; i++ ) {
      Clock c = new Clock( i, "hwd" + i );
      Transaction transaction = session.beginTransaction();
      session.persist( c );
      transaction.commit();
      session.clear();
      optimizationsPerformed = strategy.getOptimizationsPerformed();
      assertEquals(
          "Optimization should be triggered every three inserts",
          ( i + 1 ) / 3,
          optimizationsPerformed
      );
    }
    session.close();

    session = openSession();
    FullTextSession fullTextSession = Search.getFullTextSession( session );
    FullTextQuery fullTextQuery = fullTextSession.createFullTextQuery( new MatchAllDocsQuery(), Clock.class );
    int resultSize = fullTextQuery.getResultSize();
    assertEquals( "Wrong number of indexed entities", 20, resultSize );

    //an explicit invocation of #optimize() should trigger it as well
    assertEquals(
        "Optimization should not have changed",
        optimizationsPerformed,
        strategy.getOptimizationsPerformed()
    );
    fullTextSession.getSearchFactory().optimize( Clock.class );
    assertEquals(
        "Optimize should have been incremented",
        optimizationsPerformed + 1,
        strategy.getOptimizationsPerformed()
    );

    //the massIndexer should optimize only before and after (not during the process)
    fullTextSession.createIndexer( Clock.class )
        .optimizeAfterPurge( true )
        .optimizeOnFinish( true )
        .startAndWait();

    assertEquals(
        "The mass indexer should trigger optimize as well ",
        optimizationsPerformed + 3,
        strategy.getOptimizationsPerformed()
    );

    session.close();
  }
View Full Code Here

    else {
      boolean incremental = optimizerCfg.containsKey( "operation_limit.max" )
        || optimizerCfg.containsKey( "transaction_limit.max" );
      OptimizerStrategy optimizerStrategy;
      if ( incremental ) {
        optimizerStrategy = new IncrementalOptimizerStrategy();
        optimizerStrategy.initialize( callback, optimizerCfg );
      }
      else {
        optimizerStrategy = new ExplicitOnlyOptimizerStrategy();
      }
View Full Code Here

    else {
      boolean incremental = optimizerCfg.containsKey( "operation_limit.max" )
        || optimizerCfg.containsKey( "transaction_limit.max" );
      OptimizerStrategy optimizerStrategy;
      if ( incremental ) {
        optimizerStrategy = new IncrementalOptimizerStrategy();
        optimizerStrategy.initialize( callback, optimizerCfg );
      }
      else {
        optimizerStrategy = new ExplicitOnlyOptimizerStrategy();
      }
View Full Code Here

    else {
      boolean incremental = optimizerCfg.containsKey( "operation_limit.max" )
        || optimizerCfg.containsKey( "transaction_limit.max" );
      OptimizerStrategy optimizerStrategy;
      if ( incremental ) {
        optimizerStrategy = new IncrementalOptimizerStrategy();
        optimizerStrategy.initialize( callback, optimizerCfg );
      }
      else {
        optimizerStrategy = new ExplicitOnlyOptimizerStrategy();
      }
View Full Code Here

TOP

Related Classes of org.hibernate.search.store.optimization.impl.IncrementalOptimizerStrategy

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.