Weaviate
Weaviate is a vector database, integrating Weaviate with ToolJet enables efficient vector search and semantic querying, allowing applications to retrieve relevant information based on meaning rather than exact keywords. This integration is ideal for building AI-powered search engines, recommendation systems, and knowledge retrieval applications that enhance user experience with context-aware results.
Connections
Cloud
To connect with Weaviate Cloud, you will need the Instance URL and the API Key, which can be generated from Weaviate Console.
Local
To connect ToolJet with Weaviate Local, you will need the Host and the Port.
Run the following Docker command to start the container locally. This will set the host to localhost and port to 8080.
docker run -p 8080:8080 -p 50051:50051 cr.weaviate.io/semitechnologies/weaviate:1.28.4
Supported Operations
Data Type - Schema
Get Database Schema
Run this opetation to get the database schema.
Optional Patameter
- Consistency: Ensures the request is handled by the leader node to maintain accuracy.
Response Example
{
"classes": [
{
"class": "Createcollection",
"description": "Test collection create",
"invertedIndexConfig": {
"bm25": {
"b": 0.75,
"k1": 1.2
},
"cleanupIntervalSeconds": 300,
"indexNullState": true,
"indexPropertyLength": true,
"indexTimestamps": true,
"stopwords": {
"additions": [
"custom1"
],
"preset": "en",
"removals": [
"the"
]
}
},
"moduleConfig": {
"text2vec-contextionary": {
"vectorizeClassName": true
}
},
"multiTenancyConfig": {
"autoTenantActivation": false,
"autoTenantCreation": false,
"enabled": false
},
"properties": [
{
"dataType": [
"text"
],
"description": "Main text field",
"indexFilterable": true,
"indexRangeFilters": false,
"indexSearchable": true,
"name": "content",
"tokenization": "word"
}
],
"replicationConfig": {
"asyncEnabled": true,
"deletionStrategy": "NoAutomatedResolution",
"factor": 1
},
"shardingConfig": {
"virtualPerPhysical": 128,
"desiredCount": 1,
"actualCount": 1,
"desiredVirtualCount": 128,
"actualVirtualCount": 128,
"key": "_id",
"strategy": "hash",
"function": "murmur3"
},
"vectorIndexConfig": {
"skip": false,
"cleanupIntervalSeconds": 300,
"maxConnections": 64,
"efConstruction": 128,
"ef": -1,
"dynamicEfMin": 100,
"dynamicEfMax": 500,
"dynamicEfFactor": 8,
"vectorCacheMaxObjects": 1000000000000,
"flatSearchCutoff": 40000,
"distance": "cosine",
"pq": {
"enabled": false,
"bitCompression": false,
"segments": 0,
"centroids": 256,
"trainingLimit": 100000,
"encoder": {
"type": "kmeans",
"distribution": "log-normal"
}
},
"bq": {
"enabled": false
},
"sq": {
"enabled": false,
"trainingLimit": 100000,
"rescoreLimit": 20
},
"filterStrategy": "sweeping"
},
"vectorIndexType": "hnsw",
"vectorizer": "none"
}
]
}
Data Type - Collection
Get Collection
Required Parameter
- Collection Name: Name of the desired collection to fetch details.
Optional Parameter
- Consistency: Ensures the request is handled by the leader node to maintain accuracy.
Response Example
{
[
{
"dataType":["text"],
"description":"Main text field",
"indexFilterable":true,
"indexRangeFilters":false,
"indexSearchable":true,
"name":"content",
"tokenization":"word"
}
],
"replicationConfig":{
"asyncEnabled":true,
"deletionStrategy":"NoAutomatedResolution",
"factor":1
},
"shardingConfig":{
"virtualPerPhysical":128,
"desiredCount":1,
"actualCount":1,
"desiredVirtualCount":128,
"actualVirtualCount":128,
"key":"_id",
"strategy":"hash",
"function":"murmur3"
},
"vectorIndexConfig":{
"skip":false,
"cleanupIntervalSeconds":300,
"maxConnections":64,
"efConstruction":128,
"ef":-1,
"dynamicEfMin":100,
"dynamicEfMax":500,
"dynamicEfFactor":8,
"vectorCacheMaxObjects":1000000000000,
"flatSearchCutoff":40000,
"distance":"cosine",
"pq":{
"enabled":false,
"bitCompression":false,
"segments":0,
"centroids":256,
"trainingLimit":100000,
"encoder":{
"type":"kmeans",
"distribution":"log-normal"
}
},
"bq":{
"enabled":false
},
"sq":{
"enabled":false,
"trainingLimit":100000,
"rescoreLimit":20
},
"filterStrategy":"sweeping"
},
"vectorIndexType":"hnsw",
"vectorizer":"none"
}