Class DefaultMetadataStorageConfig
java.lang.Object
dev.langchain4j.store.embedding.pgvector.DefaultMetadataStorageConfig
- All Implemented Interfaces:
MetadataStorageConfig
Metadata configuration implementation
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
-
Constructor Summary
ConstructorsConstructorDescriptionJust for warnings ?DefaultMetadataStorageConfig
(MetadataStorageMode storageMode, List<String> columnDefinitions, List<String> indexes, String indexType) -
Method Summary
Modifier and TypeMethodDescriptionbuilder()
SQL definition of metadata field(s) list.static MetadataStorageConfig
Default configurationindexes()
Metadata Indexes, list of fields to use as index.Index Type: BTREE (default) GIN ...Metadata storage mode COMBINED_JSON: For dynamic metadata, when you don't know the list of metadata that will be used.
-
Constructor Details
-
DefaultMetadataStorageConfig
public DefaultMetadataStorageConfig()Just for warnings ? -
DefaultMetadataStorageConfig
-
-
Method Details
-
defaultConfig
Default configuration- Returns:
- Default configuration
-
builder
-
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 interfaceMetadataStorageConfig
- Returns:
- Metadata storage mode
-
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 interfaceMetadataStorageConfig
- Returns:
- list of column definitions
- COMBINED_JSON:
-
indexes
Description copied from interface:MetadataStorageConfig
Metadata Indexes, list of fields to use as index. Example:- COMBINED_JSON:
Collections.singletonList("metadata")
orArrays.asList("(metadata->'key')", "(metadata->'name')", "(metadata->'age')")
- COMBINED_JSONB:
Collections.singletonList("metadata")
orArrays.asList("(metadata->'key')", "(metadata->'name')", "(metadata->'age')")
- COLUMN_PER_KEY:
Arrays.asList("key", "name", "age")
- Specified by:
indexes
in interfaceMetadataStorageConfig
- Returns:
- Metadata Indexes list
- COMBINED_JSON:
-
indexType
Description copied from interface:MetadataStorageConfig
Index Type:- BTREE (default)
- GIN
- ... postgres indexes
- Specified by:
indexType
in interfaceMetadataStorageConfig
- Returns:
- Index Type
-