Class ClickHouseSettings

java.lang.Object
dev.langchain4j.community.store.embedding.clickhouse.ClickHouseSettings

public class ClickHouseSettings extends Object
ClickHouse common settings to construct, add and search in ClickHouseEmbeddingStore. Users must specify dimension. If users want to store metadata in ClickHouseEmbeddingStore, metadataTypeMap must be specified.

Optional: Users can specify columnMap to project column name onto langchain4j semantics. The map must have keys: `text`, `id` and `embedding`.

  • Constructor Details

    • ClickHouseSettings

      public ClickHouseSettings(String url, String username, String password, String database, String table, Map<String,String> columnMap, Map<String,com.clickhouse.data.ClickHouseDataType> metadataTypeMap, Integer dimension, Long timeout)
      Construct a ClickHouseSettings instance
      Parameters:
      url - ClickHouse http endpoint. (e.g. http://localhost:8123)
      username - Username. (Optional)
      password - Password. (Optional)
      database - Database name. (Optional)
      table - Table name. (Optional)
      columnMap - Column type map to project column name onto langchain4j semantics. Must have keys: `text`, `id` and `embedding`, other keys will be ignored. (Optional)
      metadataTypeMap - Metadata type map to project column name onto ClickHouseDataType in order to filter.
      dimension - Embedding dimension.
      timeout - Request timeout in milliseconds. (Optional)
  • Method Details

    • getUrl

      public String getUrl()
    • setUrl

      public void setUrl(String url)
    • getUsername

      public String getUsername()
    • setUsername

      public void setUsername(String username)
    • getPassword

      public String getPassword()
    • setPassword

      public void setPassword(String password)
    • getDatabase

      public String getDatabase()
    • setDatabase

      public void setDatabase(String database)
    • getTable

      public String getTable()
    • setTable

      public void setTable(String table)
    • getColumnMap

      public Map<String,String> getColumnMap()
    • getMetadataTypeMap

      public Map<String,com.clickhouse.data.ClickHouseDataType> getMetadataTypeMap()
    • setMetadataTypeMap

      public void setMetadataTypeMap(Map<String,com.clickhouse.data.ClickHouseDataType> metadataTypeMap)
    • setColumnMap

      public void setColumnMap(Map<String,String> columnMap)
    • getDimension

      public Integer getDimension()
    • setDimension

      public void setDimension(Integer dimension)
    • getTimeout

      public Long getTimeout()
    • setTimeout

      public void setTimeout(Long timeout)
    • containsMetadata

      public boolean containsMetadata()
    • containsMetadataKey

      public boolean containsMetadataKey(String key)
    • getColumnMapping

      public String getColumnMapping(String key)
    • builder

      public static ClickHouseSettings.Builder builder()