Class DefaultMetadataStorageConfig

java.lang.Object
dev.langchain4j.store.embedding.pgvector.DefaultMetadataStorageConfig
All Implemented Interfaces:
MetadataStorageConfig

public class DefaultMetadataStorageConfig extends Object implements MetadataStorageConfig
Metadata configuration implementation
  • Constructor Details

    • DefaultMetadataStorageConfig

      public DefaultMetadataStorageConfig()
      Just for warnings ?
    • DefaultMetadataStorageConfig

      public DefaultMetadataStorageConfig(MetadataStorageMode storageMode, List<String> columnDefinitions, List<String> indexes, String indexType)
  • Method Details

    • defaultConfig

      public static MetadataStorageConfig defaultConfig()
      Default configuration
      Returns:
      Default configuration
    • builder

    • storageMode

      public MetadataStorageMode storageMode()
      Description copied from interface: MetadataStorageConfig
      Metadata storage mode
      • COMBINED_JSON: For dynamic metadata, when you don't know the list of metadata that will be used.
      • COMBINED_JSONB: Same as JSON, but stored in a binary way. Optimized for query on large dataset.
      • COLUMN_PER_KEY: for static metadata, when you know in advance the list of metadata
      Specified by:
      storageMode in interface MetadataStorageConfig
      Returns:
      Metadata storage mode
    • columnDefinitions

      public List<String> columnDefinitions()
      Description copied from interface: MetadataStorageConfig
      SQL definition of metadata field(s) list. Example:
      • COMBINED_JSON: Collections.singletonList("metadata JSON NULL")
      • COMBINED_JSONB: Collections.singletonList("metadata JSONB NULL")
      • COLUMN_PER_KEY: Arrays.asList("condominium_id uuid null", "user uuid null")
      Specified by:
      columnDefinitions in interface MetadataStorageConfig
      Returns:
      list of column definitions
    • indexes

      public List<String> indexes()
      Description copied from interface: MetadataStorageConfig
      Metadata Indexes, list of fields to use as index. Example:
      • COMBINED_JSON: Collections.singletonList("metadata") or Arrays.asList("(metadata->'key')", "(metadata->'name')", "(metadata->'age')")
      • COMBINED_JSONB: Collections.singletonList("metadata") or Arrays.asList("(metadata->'key')", "(metadata->'name')", "(metadata->'age')")
      • COLUMN_PER_KEY: Arrays.asList("key", "name", "age")
      Specified by:
      indexes in interface MetadataStorageConfig
      Returns:
      Metadata Indexes list
    • indexType

      public String indexType()
      Description copied from interface: MetadataStorageConfig
      Index Type:
      • BTREE (default)
      • GIN
      • ... postgres indexes
      Specified by:
      indexType in interface MetadataStorageConfig
      Returns:
      Index Type