Class HibernateEmbeddingStore.Builder<E>

java.lang.Object
dev.langchain4j.store.embedding.hibernate.HibernateEmbeddingStore.Builder<E>
Enclosing class:
HibernateEmbeddingStore<E>

public static class HibernateEmbeddingStore.Builder<E> extends Object
  • Method Details

    • embeddingAttributeName

      public HibernateEmbeddingStore.Builder<E> embeddingAttributeName(String embeddingAttributeName)
    • embeddedTextAttributeName

      public HibernateEmbeddingStore.Builder<E> embeddedTextAttributeName(String embeddedTextAttributeName)
    • unmappedMetadataAttributeName

      public HibernateEmbeddingStore.Builder<E> unmappedMetadataAttributeName(String unmappedMetadataAttributeName)
    • metadataAttributeNames

      public HibernateEmbeddingStore.Builder<E> metadataAttributeNames(String... metadataAttributeNames)
    • sessionFactory

      public HibernateEmbeddingStore.Builder<E> sessionFactory(org.hibernate.SessionFactory sessionFactory)
    • databaseKind

      public HibernateEmbeddingStore.Builder<E> databaseKind(DatabaseKind databaseKind)
    • distanceFunction

      public HibernateEmbeddingStore.Builder<E> distanceFunction(DistanceFunction distanceFunction)
    • queryHints

      public HibernateEmbeddingStore.Builder<E> queryHints(Map<String,Object> queryHints)
      Sets query hints that are applied to every similarity search (search(...) and query(...)). They are not applied when embeddings are added or removed.

      Each entry is passed to Hibernate's SelectionQuery.setHint(String, Object). The value of HibernateHints.HINT_QUERY_DATABASE is written into the generated query, so it is specific to one database. To pass more than one such database hint, use a Collection of Strings as the value.

      A database kind can add default hints, see DatabaseKind.defaultQueryHints(). A hint set here replaces the default hint with the same name. For example, a Milvus search uses the session consistency level by default, so it sees the embeddings that this application added just before it. To also see the embeddings that other applications added just before it, use the strong consistency level:

      .queryHints(Map.of(HibernateHints.HINT_QUERY_DATABASE, MilvusDatabaseHints.CONSISTENCY_LEVEL + "=STRONG"))
      
      Parameters:
      queryHints - the query hints, or null for only the default hints of the database kind
      Returns:
      this builder
    • build

      public HibernateEmbeddingStore<E> build()
    • toString

      public String toString()
      Overrides:
      toString in class Object