trait PerformsDatabaseVectorSearch

Methods

void
updateSearchableEmbeddings(Collection $models)

Update the searchable embeddings for the given models.

hybridSearchModels(Builder $builder, int $limit)

Get hybrid search results using weighted reciprocal rank fusion.

fuseSearchResults(Builder $builder, Collection $textModels, Collection $semanticModels)

Fuse text and semantic results using weighted reciprocal rank fusion.

buildSemanticSearchQuery(Builder $builder)

Build a semantic search query.

float
minimumSimilarity(Builder $builder)

Get the minimum similarity for a semantic search.

constrainSearchQuery(Builder $builder, Builder $query)

Apply Scout's non-search constraints to a query.

array
generateEmbeddings(array $inputs)

Generate embeddings using the optional Hypervel AI SDK.

string
embeddingColumn(Model $model)

Get the model's embedding column.

bool
shouldPerformHybridSearch(Builder $builder)

Determine if a hybrid search should use vector search.

bool
supportsVectorSearch(Model $model)

Determine if the model's database supports vector queries.

void
ensureSemanticSearchIsSupported(Builder $builder)

Ensure semantic search is supported by the model's database.

Details

at line 23
protected void updateSearchableEmbeddings(Collection $models)

Update the searchable embeddings for the given models.

Parameters

Collection $models

Return Value

void

at line 84
protected Collection hybridSearchModels(Builder $builder, int $limit)

Get hybrid search results using weighted reciprocal rank fusion.

Parameters

Builder $builder
int $limit

Return Value

Collection

at line 144
protected Collection fuseSearchResults(Builder $builder, Collection $textModels, Collection $semanticModels)

Fuse text and semantic results using weighted reciprocal rank fusion.

Parameters

Builder $builder
Collection $textModels
Collection $semanticModels

Return Value

Collection

at line 179
protected Builder buildSemanticSearchQuery(Builder $builder)

Build a semantic search query.

Parameters

Builder $builder

Return Value

Builder

at line 205
protected float minimumSimilarity(Builder $builder)

Get the minimum similarity for a semantic search.

Parameters

Builder $builder

Return Value

float

at line 219
protected Builder constrainSearchQuery(Builder $builder, Builder $query)

Apply Scout's non-search constraints to a query.

Parameters

Builder $builder
Builder $query

Return Value

Builder

at line 230
protected array generateEmbeddings(array $inputs)

Generate embeddings using the optional Hypervel AI SDK.

Parameters

array $inputs

Return Value

array

at line 250
protected string embeddingColumn(Model $model)

Get the model's embedding column.

Parameters

Model $model

Return Value

string

at line 266
protected bool shouldPerformHybridSearch(Builder $builder)

Determine if a hybrid search should use vector search.

Parameters

Builder $builder

Return Value

bool

at line 276
protected bool supportsVectorSearch(Model $model)

Determine if the model's database supports vector queries.

Parameters

Model $model

Return Value

bool

at line 284
protected void ensureSemanticSearchIsSupported(Builder $builder)

Ensure semantic search is supported by the model's database.

Parameters

Builder $builder

Return Value

void