@@ -148,7 +148,7 @@ You can also manually create the foreign table like below if you did not use `im
148148``` sql
149149create foreign table s3_vectors .embeddings (
150150 key text not null ,
151- data embd not null ,
151+ data s3vec not null ,
152152 metadata jsonb
153153)
154154 server s3_vectors_server
@@ -160,51 +160,51 @@ create foreign table s3_vectors.embeddings (
160160```
161161### Custom Data Types
162162
163- #### embd
163+ #### s3vec
164164
165- The ` embd ` type is a custom PostgreSQL data type designed to store and work with high-dimensional vectors for machine learning and AI applications.
165+ The ` s3vec ` type is a custom PostgreSQL data type designed to store and work with high-dimensional vectors for machine learning and AI applications.
166166
167167** Structure:**
168168
169- The ` embd ` type internally contains:
169+ The ` s3vec ` type internally contains:
170170
171171- Vector data as an array of 32-bit floating point numbers (Float32)
172172- Additional metadata fields for internal use
173173
174174** Input Formats:**
175175
176- The ` embd ` type accepts input in JSON array format:
176+ The ` s3vec ` type accepts input in JSON array format:
177177
178178``` sql
179179-- Simple array format (most common)
180- ' [0.1, 0.2, 0.3, 0.4, 0.5]' ::embd
180+ ' [0.1, 0.2, 0.3, 0.4, 0.5]' ::s3vec
181181
182182-- Full JSON object format (advanced)
183- ' {"data": [0.1, 0.2, 0.3], "key": "vector_001"}' ::embd
183+ ' {"data": [0.1, 0.2, 0.3], "key": "vector_001"}' ::s3vec
184184```
185185
186186** Output Format:**
187187
188- When displayed, the ` embd ` type shows a summary format:
188+ When displayed, the ` s3vec ` type shows a summary format:
189189
190190```
191- embd :5 -- indicates an embedding with 5 dimensions
191+ s3vec :5 -- indicates an embedding with 5 dimensions
192192```
193193
194194** Usage Examples:**
195195
196196See the following sections for complete examples:
197197
198- - [ Inserting Vectors] ( #inserting-vectors ) - Examples of inserting data with ` embd ` type
198+ - [ Inserting Vectors] ( #inserting-vectors ) - Examples of inserting data with ` s3vec ` type
199199- [ Querying Vectors] ( #querying-vectors ) - Basic queries and vector similarity search
200200- [ Vector Similarity Search with Filtering] ( #vector-similarity-search-with-filtering ) - Advanced search with metadata filtering
201201- [ Advanced Example: Semantic Search] ( #advanced-example-semantic-search ) - Complete semantic search implementation
202202
203203** Operations:**
204204
205205- ** Vector similarity search** : Use the ` <==> ` operator for approximate nearest neighbor search
206- - ** Distance calculation** : Use ` embd_distance ()` function to get similarity scores
207- - ** Type casting** : Convert JSON arrays to ` embd ` type using ` ::embd ` cast
206+ - ** Distance calculation** : Use ` s3vec_distance ()` function to get similarity scores
207+ - ** Type casting** : Convert JSON arrays to ` s3vec ` type using ` ::s3vec ` cast
208208
209209** Constraints:**
210210
@@ -214,19 +214,19 @@ See the following sections for complete examples:
214214
215215### Functions
216216
217- #### embd_distance(embd )
217+ #### s3vec_distance(s3vec )
218218
219219Returns the distance score from the most recent vector similarity search operation.
220220
221221** Syntax:**
222222
223223``` sql
224- embd_distance (vector_data) - > real
224+ s3vec_distance (vector_data) - > real
225225```
226226
227227** Parameters:**
228228
229- - ` vector_data ` - An ` embd ` type column containing vector data
229+ - ` vector_data ` - An ` s3vec ` type column containing vector data
230230
231231** Returns:**
232232
@@ -236,9 +236,9 @@ embd_distance(vector_data) -> real
236236
237237``` sql
238238-- Get similarity search results with distance scores
239- select embd_distance (data) as distance, key, metadata
239+ select s3vec_distance (data) as distance, key, metadata
240240from s3_vectors .embeddings
241- where data <==> ' [0.1, 0.2, 0.3, 0.4, 0.5]' ::embd
241+ where data <==> ' [0.1, 0.2, 0.3, 0.4, 0.5]' ::s3vec
242242order by 1
243243limit 5 ;
244244```
@@ -312,18 +312,18 @@ For exact key lookups:
312312
3133133 . ** Vector similarity search** :
314314 ``` sql
315- select embd_distance (data) as distance, *
315+ select s3vec_distance (data) as distance, *
316316 from s3_vectors .embeddings
317- where data <==> ' [0.1, 0.2, 0.3, ...]' ::embd
317+ where data <==> ' [0.1, 0.2, 0.3, ...]' ::s3vec
318318 order by 1
319319 limit 10 ;
320320 ```
321321
3223224 . ** Vector search with metadata filtering** :
323323 ``` sql
324- select embd_distance (data) as distance, *
324+ select s3vec_distance (data) as distance, *
325325 from s3_vectors .embeddings
326- where data <==> ' [0.1, 0.2, 0.3, ...]' ::embd
326+ where data <==> ' [0.1, 0.2, 0.3, ...]' ::s3vec
327327 and metadata <==> ' {"category": "product"}' ::jsonb
328328 order by 1
329329 limit 5 ;
@@ -338,7 +338,7 @@ For exact key lookups:
338338| Postgres Type | S3 Vectors Type |
339339| ---------------- | -------------------------------------- |
340340| text | String (for vector key) |
341- | embd | Float32 vector data |
341+ | s3vec | Float32 vector data |
342342| jsonb | Document metadata |
343343
344344## Limitations
@@ -380,7 +380,7 @@ import foreign schema s3_vectors
380380-- or, create the foreign table manually
381381create foreign table if not exists s3_vectors .embeddings (
382382 key text not null ,
383- data embd not null ,
383+ data s3vec not null ,
384384 metadata jsonb
385385)
386386 server s3_vectors_server
@@ -401,9 +401,9 @@ select * from s3_vectors.embeddings;
401401select * from s3_vectors .embeddings where key = ' product_001' ;
402402
403403-- Vector similarity search (top 5 similar vectors)
404- select embd_distance (data) as distance, key, metadata
404+ select s3vec_distance (data) as distance, key, metadata
405405from s3_vectors .embeddings
406- where data <==> ' [0.1, 0.2, 0.3, 0.4, 0.5]' ::embd
406+ where data <==> ' [0.1, 0.2, 0.3, 0.4, 0.5]' ::s3vec
407407order by 1
408408limit 5 ;
409409```
@@ -415,15 +415,15 @@ limit 5;
415415insert into s3_vectors .embeddings (key, data, metadata)
416416values (
417417 ' product_001' ,
418- ' [0.1, 0.2, 0.3, 0.4, 0.5]' ::embd ,
418+ ' [0.1, 0.2, 0.3, 0.4, 0.5]' ::s3vec ,
419419 ' {"category": "electronics", "price": 299.99}' ::jsonb
420420);
421421
422422-- Insert multiple vectors
423423insert into s3_vectors .embeddings (key, data, metadata)
424424values
425- (' product_002' , ' [0.2, 0.3, 0.4, 0.5, 0.6]' ::embd , ' {"category": "books"}' ::jsonb),
426- (' product_003' , ' [0.3, 0.4, 0.5, 0.6, 0.7]' ::embd , ' {"category": "clothing"}' ::jsonb);
425+ (' product_002' , ' [0.2, 0.3, 0.4, 0.5, 0.6]' ::s3vec , ' {"category": "books"}' ::jsonb),
426+ (' product_003' , ' [0.3, 0.4, 0.5, 0.6, 0.7]' ::s3vec , ' {"category": "clothing"}' ::jsonb);
427427```
428428
429429### Deleting Vectors
@@ -440,9 +440,9 @@ delete from s3_vectors.embeddings;
440440
441441``` sql
442442-- Find similar vectors with metadata filtering
443- select embd_distance (data) as distance, key, metadata
443+ select s3vec_distance (data) as distance, key, metadata
444444from s3_vectors .embeddings
445- where data <==> ' [0.1, 0.2, 0.3, 0.4, 0.5]' ::embd
445+ where data <==> ' [0.1, 0.2, 0.3, 0.4, 0.5]' ::s3vec
446446and metadata <==> ' {"category": "electronics"}' ::jsonb
447447order by 1
448448limit 3 ;
@@ -454,15 +454,15 @@ limit 3;
454454-- Create a function to convert text to embeddings (pseudo-code)
455455-- This would typically use an external embedding service
456456create or replace function text_to_embedding (input_text text )
457- returns embd
457+ returns s3vec
458458language sql
459459as $$
460460 -- This is a placeholder - you would implement actual text embedding logic
461- select ' [0.1, 0.2, 0.3, 0.4, 0.5]' ::embd ;
461+ select ' [0.1, 0.2, 0.3, 0.4, 0.5]' ::s3vec ;
462462$$;
463463
464464-- Semantic search example
465- select embd_distance (data) as distance, key, metadata
465+ select s3vec_distance (data) as distance, key, metadata
466466from s3_vectors .embeddings
467467where data <==> text_to_embedding(' Find similar products' )
468468and metadata <==> ' {"status": "active"}' ::jsonb
0 commit comments