Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Overview

You can use this Snap to query similar vectors (in the PostgreSQL database) as part of a select statement using Vectors as a data type.perform advanced vector-based queries using the SELECT statement.

...

Snap Type

The PostgreSQL - Vector Search Snap is a Read-type Snap.

...

Limitations and Known Issues

None.

Snap Views

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

 

 

  • Min: 1

  • Max: 1

  • Mapper

  • Copy

  • Requires an input vector with the same dimension as the selected vector column.

  • Requires a vector input with an array of float/int data types.

Output

Document

 

  • Min: 1

  • Max: 1

  • Mapper

  • Copy

For each input document, all results are grouped into a single output document.

Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab:

  • Stop Pipeline Execution: Stops the current pipeline execution if the Snap encounters an error.

  • Discard Error Data and Continue: Ignores the error, discards that record, and continues with the remaining records.

  • Route Error Data to Error View: Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap Settings

Info
  • Asterisk ( * ): Indicates a mandatory field.

  • Suggestion icon ((blue star)): Indicates a list that is dynamically populated based on the configuration.

  • Expression icon ((blue star) ): Indicates the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.

  • Add icon ( (blue star) ): Indicates that you can add fields in the fieldset.

  • Remove icon ( (blue star)): Indicates that you can remove fields from the fieldset.

  • Upload icon ((blue star) ): Indicates that you can upload files.

Field Name

Field Type

Description

Label*

 

Default ValuePostgreSQL Vector Search
Example: PostgreSQL VS

String

Specify a name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.

 

Schema name

 

Default Value: N/A
Example: VECTOR_DEMO

String/Expression/Suggestion

Specify the schema name for searching for a vector.

Table

name

Name*

 

Default Value: N/A 
Example: VECTOR_DEMO.BOOKS

String/Expression/Suggestion

Specify the table name for searching for a vector.

Vector

column

Column*

 

Default Value: N/A
Example: INT_VEC

String/Expression/Suggestion

Specify the vector column name to search.

Where

clause

Clause

 

Default Value: N/A
Example: ID > '001i0000007FVjpAAG'

String/Expression/Suggestion

Specify the where clause to use in the vector search query statement.

Because of the limitation of SQL standard, you cannot use the _SL_DISTANCE column in the where clause.

Limit

rows

Rows

 

Default Value4
Example: 3
Min Value: 1

Integer/Expression

/Suggestion

Specify the number of

results to return for each query

rows the query must return.

 

Distance

function

Function*

 

Default ValueL2
Example: COSINE

Dropdown List

Select

Choose the similarity

functions used for comparing

function to compare vectors. The available options are:

  • L2:

Computes the Euclidean
  • (Euclidean Distance) Measures the straight-line distance between two

vectors. The similarity scores are sorted in ascending order
  • points. It’s useful when you want to calculate the "as-the-crow-flies" distance.

  • L1:

Computes
  • (Manhattan Distance) Measures the

Manhattan
  • distance between two

vectors. The similarity scores are sorted in ascending order
  • points along the axes at right angles. It’s useful in grid-based systems, like city streets.

  • COSINE:

Computes
  • Measures the cosine

similarity
  • of the angle between two vectors.

The similarity scores are sorted in descending order.INNER PRODUCT: Computes the inner product of two vectors.The similarity scores are sorted in descending order
  • It is commonly used in high-dimensional positive spaces to assess similarity irrespective of magnitude.

  • Inner Product: (Dot Product) Measures the similarity between two vectors. It’s useful in various applications, such as calculating the angle between vectors or finding projections.

Learn more about the Vector Similarity Functions.

Include vector values

 

Default Value: Deselected

Checkbox/Expression

Select this checkbox to include vector values in the response.

This field does not support input schema from the upstream Snaps.

Include scores

 

Default ValueSelected

Checkbox/Expression

Select this checkbox to include similarity scores in the response.

  • This field does not support input schema from the upstream Snaps.

If
  • When you select this checkbox

is selected
  • , the output preview displays _SL_DISTANCE, which is the distance between the input vector and vectors in the database.

Ignore

Empty Result

empty result

Default Value: Deselected

Checkbox

Select this checkbox

if you want the Snap to produce no output when there is no matching vector is found. Otherwise, the Snap outputs a blank document when there are no matching vectors

to ignore the empty results and not write a document to the output view when a search operation does not return any results.

Number of retries

 

Default Value0
Example: 3

Integer/Expression

Specify the maximum number of

attempts to be made to receive a response

retry attempts the Snap must make in case of network failure.

Retry interval (seconds)

 

Default Value0
Example: 3

Integer/Expression

Specify the

minimum number of seconds the Snap must wait before each retry attempt.

Handle timestamp and date time data

 

Default Value: Default Date Time format in UTC Time Zone
Example: SnapLogic Date Time format in Regional Time Zone

Dropdown List

Select how you want the Snap to handle timestamp and date time data. The available options are:

  • Default Date Time format in UTC Time Zone

  • SnapLogic Date Time format in Regional Time Zone

    time interval between two successive retry requests.

    Snap execution

    Default ValueValidate & Execute
    Example: Execute only

    Dropdown list

    Select one of the following three modes in which the Snap executes:

    • Validate & Execute: Performs limited execution of the Snap and generates a data preview during pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during pipeline runtime.

    • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.

    • Disabled: Disables the Snap and all Snaps that are downstream from it.

    Example

    Find Similar Vectors Using Cosine Distance

    The example pipeline below demonstrates how to use the PostgreSQL - Vector Search Snap to find similar vectors using the Cosine distance function.

    Snap Pack History

    ...

    titleClick here to expand...

    ...

    Step 1: Configure the Mapper Snap with a vector to find similar vectors in the PostgreSQL database.

    ...

    Step 2: Configure the PostgreSQL - Vector Search Snap as shown below:

    ...

    Step 3: Validate the pipeline. On validation, the Snap fetches similar vectors based on the following criteria:

    • The match vectors have cosine similarity distances, indicating their similarity to the input vector.

    • The cosine similarity distances measure how close the match vectors are to the input vector, with values closer to 0 indicating higher similarity.

    • The first match has the highest similarity (lowest distance), followed by the 2nd match.

    ...

    Insert excerpt
    PostgreSQL Snap Pack
    PostgreSQL Snap Pack
    nopaneltrue

    Related Content

    ...