Skip to main content
For the complete documentation index for agents and LLMs, see llms.txt.

AlloyDBKeywordRetriever

Retrieve documents from an AlloyDBDocumentStore using full-text keyword search. Use this component in query pipelines when you need BM25-style text matching rather than vector similarity search.

Key Features

  • Performs full-text search using AlloyDB's native keyword indexing.
  • Configurable filter policy to merge or replace filters at query time.
  • Can be combined with AlloyDBEmbeddingRetriever in a hybrid search pipeline.

Configuration

Add Workspace-Level Integration

  1. Click your profile icon and choose Settings.
  2. Go to Workspace>Integrations.
  3. Find the provider you want to connect and click Connect next to them.
  4. Enter the API key and any other required details.
  5. Click Connect. You can use this integration in pipelines and indexes in the current workspace.

Add Organization-Level Integration

  1. Click your profile icon and choose Settings.
  2. Go to Organization>Integrations.
  3. Find the provider you want to connect and click Connect next to them.
  4. Enter the API key and any other required details.
  5. Click Connect. You can use this integration in pipelines and indexes in all workspaces in the current organization.
  1. First, configure an AlloyDBDocumentStore in your pipeline.
  2. Drag the AlloyDBKeywordRetriever component onto the canvas from the Component Library.
  3. Connect the component to a query input and downstream components such as PromptBuilder.

Connections

AlloyDBKeywordRetriever receives a text query string as input. It outputs a list of Document objects you can connect to PromptBuilder or other downstream components.

Source Code

To check this component's source code, open keyword_retriever.py in the Haystack Core Integrations repository.

Usage Examples

Basic Configuration

  AlloyDBKeywordRetriever:
type: haystack_integrations.components.retrievers.alloydb.keyword_retriever.AlloyDBKeywordRetriever
init_parameters:
document_store: AlloyDBDocumentStore
top_k: 5

Parameters

Inputs

ParameterTypeDescription
querystrThe text query to search for.
filtersOptional[Dict[str, Any]]Filters to apply when retrieving documents.
top_kOptional[int]The maximum number of documents to retrieve. Overrides the init-time value.

Outputs

ParameterTypeDescription
documentsList[Document]A list of matching documents from the document store.

Init Parameters

These are the parameters you can configure in Pipeline Builder:

ParameterTypeDefaultDescription
document_storeAlloyDBDocumentStoreThe AlloyDB document store to retrieve documents from.
filtersOptional[Dict[str, Any]]NoneDefault filters to apply when retrieving documents.
top_kint10The maximum number of documents to retrieve.
filter_policyFilterPolicyFilterPolicy.REPLACEHow to handle filters passed at query time. REPLACE replaces init-time filters; MERGE combines them.

Run Method Parameters

These are the parameters you can configure for the component's run() method. This means you can pass these parameters at query time through the API, in Playground, or when running a job. For details, see Modify Pipeline Parameters at Query Time.

ParameterTypeDefaultDescription
querystrThe text query to search for.
filtersOptional[Dict[str, Any]]NoneRuntime filters to apply.
top_kOptional[int]NoneMaximum number of documents to retrieve. Overrides the init-time value.