@Override protected ModelNode invokeCommand(Cache<?, ?> cache, ModelNode operation, OperationContext context) { SearchManager searchManager = SecurityActions.getSearchManager(cache.getAdvancedCache()); if (searchManager != null) { searchManager.getMassIndexer().start(); } return null; } }
protected void runMassIndexer() throws Exception { Cache cache = caches.get(0); SearchManager searchManager = Search.getSearchManager(cache); searchManager.getMassIndexer().start(); } }
protected void runMassIndexer() throws Exception { Cache cache = caches.get(0); SearchManager searchManager = Search.getSearchManager(cache); searchManager.getMassIndexer().start(); } }
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(); } } }
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 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)); }
@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()); } }