import pl.edu.icm.synat.api.services.index.fulltext.FulltextIndexService import pl.edu.icm.synat.api.services.index.fulltext.query.FulltextSearchQuery import pl.edu.icm.synat.api.services.index.fulltext.query.criteria.SearchOperator import pl.edu.icm.synat.api.services.index.fulltext.query.criteria.impl.FieldCriterion import pl.edu.icm.synat.api.services.index.fulltext.query.format.FieldRequest import pl.edu.icm.synat.api.services.index.fulltext.query.format.ResultsFormat import pl.edu.icm.synat.api.services.profile.ProfileService import pl.edu.icm.synat.api.services.usercatalog.UserCatalog import pl.edu.icm.synat.logic.index.publication.CollectionIndexFieldConstants import pl.edu.icm.synat.logic.services.collection.CollectionService import pl.edu.icm.synat.logic.services.messaging.MailMessagingService userCatalog = serviceUtils.getService('UserCatalog', UserCatalog.class) mailService = serviceUtils.getService('mail-messaging-service', MailMessagingService.class) profileService = serviceUtils.getService('profile-service', ProfileService.class) collectionIndex = serviceUtils.getService('CollectionIndex', FulltextIndexService.class) collectionService = serviceUtils.getService('collection-service', CollectionService.class) resultsFormat = new ResultsFormat(new FieldRequest(CollectionIndexFieldConstants.FIELD_EXID, true)); searchQuery = new FulltextSearchQuery(0, 0, resultsFormat, new FieldCriterion(CollectionIndexFieldConstants.FIELD_TYPE, "userCollection", SearchOperator.AND)); results = collectionIndex.performSearch(searchQuery).getResults(); println "SIZE " + results.size(); for(result in results){ collId = result.getDocId() println "kolekcja " + collId; if(collectionService.fetchCollection(collId)==null){ println "NIE MA KOLEKCJI " + collId; collectionIndex.deleteDocuments(collId); println "WYWALONA Z INDEKSU " + collId; } }