@Override protected ModelNode invokeCommand(Cache<?, ?> cache, ModelNode operation, OperationContext context) { SearchManager searchManager = SecurityActions.getSearchManager(cache.getAdvancedCache()); if (searchManager != null) { searchManager.getMassIndexer().start(); } return null; } }
@Override protected void rebuildIndexes() throws Exception { Cache cache = caches.get(0); SearchManager searchManager = Search.getSearchManager(cache); CompletableFuture<Void> future = searchManager.getMassIndexer().startAsync(); future.get(); } }
public void testPartiallyReindex() throws Exception { caches.get(0).getAdvancedCache().withFlags(Flag.SKIP_INDEXING).put(key("F1NUM"), new Car("megane", "white", 300)); Search.getSearchManager(cache(0)).getMassIndexer().reindex(key("F1NUM")).get(); verifyFindsCar(1, "megane"); caches.get(0).remove(key("F1NUM")); verifyFindsCar(0, "megane"); }
public void testPartiallyReindex() throws Exception { cache.getAdvancedCache().withFlags(Flag.SKIP_INDEXING).put(0, new Person("name" + 0, "blurb" + 0, 0)); verifyFindsPerson(0, "name" + 0); Search.getSearchManager(cache).getMassIndexer().reindex(0).get(); verifyFindsPerson(1, "name" + 0); cache.remove(0); verifyFindsPerson(0, "name" + 0); }
protected void runMassIndexer() throws Exception { Cache cache = caches.get(0); SearchManager searchManager = Search.getSearchManager(cache); searchManager.getMassIndexer().start(); } }
void startMassIndexer() { System.out.println("Running MassIndexer"); final StopTimer stopTimer = new StopTimer(); future = massIndexer.startAsync(); future.whenComplete((v, t) -> { stopTimer.stop(); if (t != null) { System.out.println("Error executing massindexer"); t.printStackTrace(); } System.out.printf("\nMass indexer run in %d seconds", stopTimer.getElapsedIn(TimeUnit.SECONDS)); System.out.println(); waitForIndexSize(nexIndex.get()); System.out.println("Mass Indexing complete."); }); }
protected void runMassIndexer() throws Exception { Cache cache = caches.get(0); SearchManager searchManager = Search.getSearchManager(cache); searchManager.getMassIndexer().start(); } }
@Test public void testListener() throws Exception { Cache<Integer, Transaction> cache = caches.get(0); int elements = 50; populate(elements); SearchManager searchManager = Search.getSearchManager(cache); CompletableFuture<Void> future = searchManager.getMassIndexer().startAsync(); final CountDownLatch endLatch = new CountDownLatch(1); future.whenComplete((v, t) -> { endLatch.countDown(); }); endLatch.await(); checkIndex(elements, Transaction.class); }
protected void rebuildIndexes() throws Exception { Cache cache = caches.get(0); SearchManager searchManager = Search.getSearchManager(cache); searchManager.getMassIndexer().start(); }
@Override protected void rebuildIndexes() throws Exception { for (Cache cache : caches) { Search.getSearchManager(cache).getMassIndexer().start(); } } }
@Test public void testMassIndexer() { for (int i = 0; i < NUM_ENTITIES; i++) { cache.put(i, new Person("name" + i, "blurb" + i, i)); } SearchManager searchManager = Search.getSearchManager(cache); assertEquals(NUM_ENTITIES, indexSize(cache)); searchManager.getMassIndexer().start(); assertEquals(NUM_ENTITIES, indexSize(cache)); cache.clear(); searchManager.getMassIndexer().start(); assertEquals(0, indexSize(cache)); }
public void testManualIndexing() throws Exception { caches.get(0).put("car A", new Car("ford", "blue", 400)); caches.get(0).put("car B", new Car("megane", "white", 300)); caches.get(0).put("car C", new Car("megane", "red", 500)); assertNumberOfCars(0, "megane"); assertNumberOfCars(0, "ford"); // rebuild index Search.getSearchManager(caches.get(0)).getMassIndexer().start(); assertNumberOfCars(2, "megane"); assertNumberOfCars(1, "ford"); }
@Test @BMRule(name = "Delay the purge of the index", targetClass = "org.hibernate.search.backend.impl.lucene.works.PurgeAllWorkExecutor", targetMethod = "performWork", action = "delay(500)" ) public void testMassIndexOnAsync() throws Exception { final Cache<Object, Object> cache = caches().get(0); for (int i = 0; i < NUM_ENTRIES; i++) { cache.getAdvancedCache().withFlags(Flag.SKIP_INDEXING).put(String.valueOf(i), new Transaction(i, "12345")); } for (Cache c : caches()) { Search.getSearchManager(c).getMassIndexer().start(); assertAllIndexed(c); } }
public void testReindexing() throws Exception { Cache cache = cache(0).getAdvancedCache().withFlags(Flag.SKIP_INDEXING); SearchManager searchManager = Search.getSearchManager(cache); Query query = searchManager.buildQueryBuilderForClass(Car.class) .get() .keyword() .onField("make") .matching("ford") .createQuery(); cache.put("car1", new Car("ford", "white", 300)); cache.put("car2", new Car("ford", "blue", 300)); cache.put("car3", new Car("ford", "red", 300)); // ensure these were not indexed assertEquals(0, searchManager.getQuery(query, Car.class).getResultSize()); //reindex searchManager.getMassIndexer().start(); // check that the indexing is complete immediately assertEquals(3, searchManager.getQuery(query, Car.class).getResultSize()); } }