Class SearchManagerImpl
- java.lang.Object
-
- io.vertigo.datafactory.impl.search.SearchManagerImpl
-
- All Implemented Interfaces:
io.vertigo.core.node.component.Activeable
,io.vertigo.core.node.component.Component
,io.vertigo.core.node.component.CoreComponent
,io.vertigo.core.node.component.Manager
,SearchManager
public final class SearchManagerImpl extends Object implements SearchManager, io.vertigo.core.node.component.Activeable
Implémentation standard du gestionnaire des indexes de recherche.- Author:
- dchallas, npiedeloup
-
-
Constructor Summary
Constructors Constructor Description SearchManagerImpl(SearchServicesPlugin searchServicesPlugin, io.vertigo.core.locale.LocaleManager localeManager, io.vertigo.core.analytics.AnalyticsManager analyticsManager)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description long
count(SearchIndexDefinition indexDefinition)
SearchIndexDefinition
findFirstIndexDefinitionByKeyConcept(Class<? extends io.vertigo.datamodel.structure.model.KeyConcept> keyConceptClass)
Find IndexDefinition for a keyConcept.SearchIndexDefinition
findIndexDefinitionByKeyConcept(Class<? extends io.vertigo.datamodel.structure.model.KeyConcept> keyConceptClass)
Deprecated.<R extends io.vertigo.datamodel.structure.model.DtObject>
FacetedQueryResult<R,SearchQuery>loadList(SearchIndexDefinition indexDefinition, SearchQuery searchQuery, io.vertigo.datamodel.structure.model.DtListState listState)
Récupération du résultat issu d'une requête.<R extends io.vertigo.datamodel.structure.model.DtObject>
FacetedQueryResult<R,SearchQuery>loadList(List<SearchIndexDefinition> indexDefinitions, SearchQuery searchQuery, io.vertigo.datamodel.structure.model.DtListState listState)
Récupération du résultat issu d'une requête.void
markAsDirty(List<io.vertigo.datamodel.structure.model.UID<? extends io.vertigo.datamodel.structure.model.KeyConcept>> keyConceptUris)
Mark an uid list as dirty.void
onEvent(StoreEvent storeEvent)
Receive Store event.<S extends io.vertigo.datamodel.structure.model.KeyConcept,I extends io.vertigo.datamodel.structure.model.DtObject>
voidput(SearchIndexDefinition indexDefinition, SearchIndex<S,I> index)
Ajout d'une ressource à l'index.<S extends io.vertigo.datamodel.structure.model.KeyConcept,I extends io.vertigo.datamodel.structure.model.DtObject>
voidputAll(SearchIndexDefinition indexDefinition, Collection<SearchIndex<S,I>> indexCollection)
Ajout de plusieurs ressources à l'index.Future<Long>
reindexAll(SearchIndexDefinition searchIndexDefinition)
Launch a complete reindexation of an index.<S extends io.vertigo.datamodel.structure.model.KeyConcept>
voidremove(SearchIndexDefinition indexDefinition, io.vertigo.datamodel.structure.model.UID<S> uri)
Suppression d'une ressource de l'index.void
removeAll(SearchIndexDefinition indexDefinition, ListFilter listFilter)
Suppression des données correspondant à un filtre.void
start()
void
stop()
-
-
-
Constructor Detail
-
SearchManagerImpl
@Inject public SearchManagerImpl(SearchServicesPlugin searchServicesPlugin, io.vertigo.core.locale.LocaleManager localeManager, io.vertigo.core.analytics.AnalyticsManager analyticsManager)
Constructor.- Parameters:
searchServicesPlugin
- the searchServicesPluginlocaleManager
- the localeManageranalyticsManager
- the analyticsManager
-
-
Method Detail
-
start
public void start()
- Specified by:
start
in interfaceio.vertigo.core.node.component.Activeable
-
stop
public void stop()
- Specified by:
stop
in interfaceio.vertigo.core.node.component.Activeable
-
putAll
public <S extends io.vertigo.datamodel.structure.model.KeyConcept,I extends io.vertigo.datamodel.structure.model.DtObject> void putAll(SearchIndexDefinition indexDefinition, Collection<SearchIndex<S,I>> indexCollection)
Ajout de plusieurs ressources à l'index. Si les éléments étaient déjà dans l'index ils sont remplacés.- Specified by:
putAll
in interfaceSearchManager
- Type Parameters:
S
- Type du keyConcept métier indexéI
- Type de l'objet représentant l'index- Parameters:
indexDefinition
- Type de l'indexindexCollection
- Liste des objets à pousser dans l'index
-
put
public <S extends io.vertigo.datamodel.structure.model.KeyConcept,I extends io.vertigo.datamodel.structure.model.DtObject> void put(SearchIndexDefinition indexDefinition, SearchIndex<S,I> index)
Ajout d'une ressource à l'index. Si l'élément était déjà dans l'index il est remplacé.- Specified by:
put
in interfaceSearchManager
- Type Parameters:
S
- Type du keyConcept métier indexéI
- Type de l'objet représentant l'index- Parameters:
indexDefinition
- Type de l'indexindex
- Objet à pousser dans l'index
-
loadList
public <R extends io.vertigo.datamodel.structure.model.DtObject> FacetedQueryResult<R,SearchQuery> loadList(SearchIndexDefinition indexDefinition, SearchQuery searchQuery, io.vertigo.datamodel.structure.model.DtListState listState)
Récupération du résultat issu d'une requête.- Specified by:
loadList
in interfaceSearchManager
- Type Parameters:
R
- Type de l'objet resultant de la recherche- Parameters:
indexDefinition
- Type de l'indexsearchQuery
- critères initiauxlistState
- Etat de la liste (tri et pagination)- Returns:
- Résultat correspondant à la requête
-
loadList
public <R extends io.vertigo.datamodel.structure.model.DtObject> FacetedQueryResult<R,SearchQuery> loadList(List<SearchIndexDefinition> indexDefinitions, SearchQuery searchQuery, io.vertigo.datamodel.structure.model.DtListState listState)
Récupération du résultat issu d'une requête.- Specified by:
loadList
in interfaceSearchManager
- Type Parameters:
R
- Type de l'objet resultant de la recherchesearchQuery
- critères initiauxlistState
- Etat de la liste (tri et pagination)- Returns:
- Résultat correspondant à la requête
-
count
public long count(SearchIndexDefinition indexDefinition)
- Specified by:
count
in interfaceSearchManager
- Parameters:
indexDefinition
- Type de l'index- Returns:
- Nombre de document indexés
-
remove
public <S extends io.vertigo.datamodel.structure.model.KeyConcept> void remove(SearchIndexDefinition indexDefinition, io.vertigo.datamodel.structure.model.UID<S> uri)
Suppression d'une ressource de l'index.- Specified by:
remove
in interfaceSearchManager
- Type Parameters:
S
- Type du keyConcept métier indexé- Parameters:
indexDefinition
- Type de l'indexuri
- UID de la ressource à supprimer
-
removeAll
public void removeAll(SearchIndexDefinition indexDefinition, ListFilter listFilter)
Suppression des données correspondant à un filtre.- Specified by:
removeAll
in interfaceSearchManager
- Parameters:
indexDefinition
- Type de l'indexlistFilter
- Filtre des éléments à supprimer
-
findFirstIndexDefinitionByKeyConcept
public SearchIndexDefinition findFirstIndexDefinitionByKeyConcept(Class<? extends io.vertigo.datamodel.structure.model.KeyConcept> keyConceptClass)
Find IndexDefinition for a keyConcept. It must be one and only one IndexDefinition.- Specified by:
findFirstIndexDefinitionByKeyConcept
in interfaceSearchManager
- Parameters:
keyConceptClass
- keyConcept class- Returns:
- SearchIndexDefinition for this keyConcept (not null)
-
findIndexDefinitionByKeyConcept
@Deprecated public SearchIndexDefinition findIndexDefinitionByKeyConcept(Class<? extends io.vertigo.datamodel.structure.model.KeyConcept> keyConceptClass)
Deprecated.Find IndexDefinition for a keyConcept. It must be one and only one IndexDefinition.- Specified by:
findIndexDefinitionByKeyConcept
in interfaceSearchManager
- Parameters:
keyConceptClass
- keyConcept class- Returns:
- SearchIndexDefinition for this keyConcept (not null)
-
markAsDirty
public void markAsDirty(List<io.vertigo.datamodel.structure.model.UID<? extends io.vertigo.datamodel.structure.model.KeyConcept>> keyConceptUris)
Mark an uid list as dirty. Index of these elements will be reindexed. Reindexation isn't synchrone, strategy is dependant of plugin's parameters.- Specified by:
markAsDirty
in interfaceSearchManager
- Parameters:
keyConceptUris
- UID of keyConcept marked as dirty.
-
reindexAll
public Future<Long> reindexAll(SearchIndexDefinition searchIndexDefinition)
Launch a complete reindexation of an index.- Specified by:
reindexAll
in interfaceSearchManager
- Parameters:
searchIndexDefinition
- Type de l'index- Returns:
- Future of number elements indexed
-
onEvent
public void onEvent(StoreEvent storeEvent)
Receive Store event.- Parameters:
storeEvent
- Store event
-
-