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 of planning or handling of containing entities.

    Implementations must be thread-safe if the underlying session is thread-safe.

    • Method Detail

      • add

        CompletableFuture<?> add​(PojoRawTypeIdentifier<?> typeIdentifier,
                                 Object providedId,
                                 String providedRoutingKey,
                                 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. If null, Hibernate Search will attempt to extract the ID from the entity.
        providedRoutingKey - The routing key to route the add request to the appropriate index shard. Leave null if sharding is disabled or to have Hibernate Search compute the value through the assigned RoutingBridge.
        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,
                                         String providedRoutingKey,
                                         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. If null, Hibernate Search will attempt to extract the ID from the entity.
        providedRoutingKey - The routing key to route the addOrUpdate request to the appropriate index shard. Leave null if sharding is disabled or to have Hibernate Search compute the value through the assigned RoutingBridge.
        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,
                                    String providedRoutingKey,
                                    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. If null, Hibernate Search will attempt to extract the ID from the entity.
        providedRoutingKey - The routing key to route the delete request to the appropriate index shard. Leave null if sharding is disabled or to have Hibernate Search compute the value through the assigned RoutingBridge.
        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.
      • purge

        CompletableFuture<?> purge​(PojoRawTypeIdentifier<?> typeIdentifier,
                                   Object providedId,
                                   String providedRoutingKey,
                                   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.
        providedRoutingKey - The routing key to route the purge request to the appropriate index shard. Leave null if sharding is disabled or if you don't use a custom RoutingBridge.
        commitStrategy - How to handle the commit.
        refreshStrategy - How to handle the refresh.
        Returns:
        A CompletableFuture reflecting the completion state of the operation.