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

MariaDBKeywordRetriever

Retrieve documents from a MariaDBDocumentStore using full-text keyword search. Use this component in query pipelines that rely on lexical matching rather than dense vector similarity.

Key Features​

  • Performs full-text keyword search using MariaDB's MATCH ... AGAINST in natural language mode.
  • Uses a FULLTEXT index on the content column for efficient keyword queries.
  • Ranks results by BM25-style relevance scores.
  • Configurable filter policy to merge or replace filters at query time.
  • Requires MariaDB 11.7 or later.

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. Set the MARIADB_USER and MARIADB_PASSWORD environment variables with your MariaDB credentials.
  2. Configure a MariaDBDocumentStore in your pipeline. The FULLTEXT index on the content column is created automatically when the table is initialized.
  3. Drag the MariaDBKeywordRetriever component onto the canvas from the Component Library.
  4. Connect the retriever output to downstream components such as PromptBuilder.

Connections​

MariaDBKeywordRetriever receives a query string as input. It outputs a list of Document objects ranked by full-text relevance that 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​

MariaDBKeywordRetriever:
type: haystack_integrations.components.retrievers.mariadb.keyword_retriever.MariaDBKeywordRetriever
init_parameters:
document_store: MariaDBDocumentStore
top_k: 5

Using the Component in a Pipeline​

# haystack-pipeline
components:
document_store:
type: haystack_integrations.document_stores.mariadb.document_store.MariaDBDocumentStore
init_parameters:
host: 127.0.0.1
port: 3306
database: haystack
embedding_dimension: 768

retriever:
type: haystack_integrations.components.retrievers.mariadb.keyword_retriever.MariaDBKeywordRetriever
init_parameters:
document_store: document_store
top_k: 5

inputs:
query:
- retriever.query

outputs:
documents: retriever.documents

Parameters​

Inputs​

ParameterTypeDescription
querystrThe keyword query string 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 documents ranked by full-text relevance from the document store.

Init Parameters​

These are the parameters you can configure in Pipeline Builder:

ParameterTypeDefaultDescription
document_storeMariaDBDocumentStoreThe MariaDB 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 keyword query string.
filtersOptional[Dict[str, Any]]NoneRuntime filters to apply.
top_kOptional[int]NoneMaximum number of documents to retrieve. Overrides the init-time value.