Interface PojoIndexer
-
public interface PojoIndexer
An interface for indexing entities in the context of a session in a POJO mapper, immediately, asynchronously and without any sort ofplanning
or handling of containing entities.Implementations must be thread-safe if the underlying session is thread-safe.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CompletableFuture<?>
add(PojoRawTypeIdentifier<?> typeIdentifier, Object providedId, DocumentRoutesDescriptor providedRoutes, Object entity, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy)
Add an entity to the index, assuming that the entity is absent from the index.CompletableFuture<?>
addOrUpdate(PojoRawTypeIdentifier<?> typeIdentifier, Object providedId, DocumentRoutesDescriptor providedRoutes, Object entity, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy)
Update an entity in the index, or add it if it's absent from the index.CompletableFuture<?>
delete(PojoRawTypeIdentifier<?> typeIdentifier, Object providedId, DocumentRoutesDescriptor providedRoutes, Object entity, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy)
Delete an entity from the index.CompletableFuture<?>
delete(PojoRawTypeIdentifier<?> typeIdentifier, Object providedId, DocumentRoutesDescriptor providedRoutes, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy)
Purge an entity from the index.
-
-
-
Method Detail
-
add
CompletableFuture<?> add(PojoRawTypeIdentifier<?> typeIdentifier, Object providedId, DocumentRoutesDescriptor providedRoutes, Object entity, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy)
Add an entity to the index, assuming that the entity is absent from the index.Entities to reindex as a result of this operation will not be resolved.
Note: depending on the backend, this may lead to errors or duplicate entries in the index if the entity was actually already present in the index before this call.
- Parameters:
typeIdentifier
- The identifier of the entity type.providedId
- A value to extract the document ID from. Generally the expected value is the entity ID, but a different value may be expected depending on the mapping. Ifnull
, Hibernate Search will attempt to extract the ID from the entity.providedRoutes
- The route to the current index shard. Leavenull
if sharding is disabled or to have Hibernate Search compute the value through the assignedRoutingBridge
.entity
- The entity to add to the index.commitStrategy
- How to handle the commit.refreshStrategy
- How to handle the refresh.- Returns:
- A
CompletableFuture
reflecting the completion state of the operation.
-
addOrUpdate
CompletableFuture<?> addOrUpdate(PojoRawTypeIdentifier<?> typeIdentifier, Object providedId, DocumentRoutesDescriptor providedRoutes, Object entity, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy)
Update an entity in the index, or add it if it's absent from the index.Entities to reindex as a result of this operation will not be resolved.
- Parameters:
typeIdentifier
- The identifier of the entity type.providedId
- A value to extract the document ID from. Generally the expected value is the entity ID, but a different value may be expected depending on the mapping. Ifnull
, Hibernate Search will attempt to extract the ID from the entity.providedRoutes
- The routes to the current and previous index shards. Leavenull
if sharding is disabled or to have Hibernate Search compute the value through the assignedRoutingBridge
.entity
- The entity to update in the index.commitStrategy
- How to handle the commit.refreshStrategy
- How to handle the refresh.- Returns:
- A
CompletableFuture
reflecting the completion state of the operation.
-
delete
CompletableFuture<?> delete(PojoRawTypeIdentifier<?> typeIdentifier, Object providedId, DocumentRoutesDescriptor providedRoutes, Object entity, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy)
Delete an entity from the index.Entities to reindex as a result of this operation will not be resolved.
No effect on the index if the entity is not in the index.
- Parameters:
typeIdentifier
- The identifier of the entity type.providedId
- A value to extract the document ID from. Generally the expected value is the entity ID, but a different value may be expected depending on the mapping. Ifnull
, Hibernate Search will attempt to extract the ID from the entity.providedRoutes
- The routes to the current and previous index shards. Leavenull
if sharding is disabled or to have Hibernate Search compute the value through the assignedRoutingBridge
.entity
- The entity to delete from the index.commitStrategy
- How to handle the commit.refreshStrategy
- How to handle the refresh.- Returns:
- A
CompletableFuture
reflecting the completion state of the operation.
-
delete
CompletableFuture<?> delete(PojoRawTypeIdentifier<?> typeIdentifier, Object providedId, DocumentRoutesDescriptor providedRoutes, DocumentCommitStrategy commitStrategy, DocumentRefreshStrategy refreshStrategy)
Purge an entity from the index.Entities to reindex as a result of this operation will not be resolved.
No effect on the index if the entity is not in the index.
- Parameters:
typeIdentifier
- The identifier of the entity type.providedId
- A value to extract the document ID from.providedRoutes
- The routes to the current and previous index shards. Leavenull
if sharding is disabled or to have Hibernate Search compute the value through the assignedRoutingBridge
.commitStrategy
- How to handle the commit.refreshStrategy
- How to handle the refresh.- Returns:
- A
CompletableFuture
reflecting the completion state of the operation.
-
-