Description
n8n-nodes-meilisearch
A comprehensive n8n community node for interacting with the Meilisearch REST API. This node provides full coverage of Meilisearch operations including document management, index operations, search functionality, task management, and more.
About Meilisearch
Meilisearch is an open-source, lightning-fast, and hyper-relevant search engine that fits effortlessly into your apps, websites, and workflows. It provides a RESTful API for managing search indexes, documents, and performing lightning-fast searches.
About n8n
n8n is a fair-code licensed workflow automation platform that allows you to connect different services and automate tasks.
Table of Contents
- Installation
- Operations
- Credentials
- Compatibility
- Usage
- Examples
- Resources
- Version History
- Contributing
- Add or Replace Documents – Add new documents or replace existing ones in an index
- Add or Update Documents – Add new documents or update existing ones (partial updates)
- Delete Batch of Documents – Delete multiple documents by their UIDs
- Delete All Documents – Remove all documents from an index
- Get Documents – Retrieve multiple documents with pagination and filtering support
- Get One Document – Retrieve a single document by its UID
- Create a Dump – Generate a database dump for backup or migration
- Get All Index Stats – Retrieve statistics about all indexes and the database
- Get Health – Check the health status of your Meilisearch instance
- Get Version – Get the version information of your Meilisearch instance
- Create an Index – Create a new search index with optional primary key
- Get Stats of an Index – Retrieve detailed statistics for a specific index
- List Indexes – List all indexes with pagination support
- Search Index – Perform a search query on an index (also available in Search resource)
- Swap Indexes – Swap documents, settings, and task history between index pairs
- Create an API Key – Create a new API key with specific permissions
- Delete an API Key – Delete a key by its UID or key value
- Get an API Key – Retrieve details of a specific API key
- Get API Keys – List all API keys (returns 20 most recently created)
- Update an API Key – Update permissions or expiration of an existing key
- Search Index – Perform advanced searches with filtering, faceting, highlighting, and more
- Multi-Search – Perform multiple searches across different indexes in a single request
- Get Index Settings – Retrieve all settings for an index
- Reset Index Settings – Reset all settings to their default values
- Update Index Settings – Update searchable attributes, ranking rules, typo tolerance, synonyms, and more
- Get All Tasks – List all tasks with filtering options (by status, type, index, date, etc.)
- Get a Single Task – Retrieve details of a specific task by UID
- Wait for Task – Poll a task until completion (succeeded, failed, or canceled) with exponential backoff
- Cancel Tasks – Cancel enqueued or processing tasks
- Delete Tasks – Delete finished tasks (succeeded, failed, or canceled)
Installation
Follow the installation guide in the n8n community nodes documentation.
Operations
This node supports all major Meilisearch API operations organized by resource type:
Documents
– Optional: Wait for task completion with configurable polling
– Optional: Primary key field mapping for flexible document structures
– Optional: Wait for task completion with configurable polling
– Optional: Primary key field mapping for flexible document structures
General
Indexes
Keys
Search
Settings
Tasks
Credentials
Setting Up Credentials
1. Host URL: Enter your Meilisearch instance URL (e.g., https://your-meilisearch-instance.com or http://localhost:7700)
2. API Key: Provide your Meilisearch API key
Security Notes
By SimpleDockerfileExample , you can rebuild your container to get the updated node version.
—
If you’re using docker compose or docker-compose, you can still use a dockerfile to persist custom nodes:
Put the DockerFile and docker-entrypoint in the same directory as your docker-compose file, and swap the image property for build: .
Then run docker-compose down && docker-compose up --build -d.
Or if you want to have less down time, run docker-compose build to create the image, THEN do docker-compose down && docker-compose up --force-recreate -d – Source Docs
If you’re on Digital Ocean or similar, “Force rebuild and redeploy”.
Dockerfile:
Note the -g – these nodes will not show in ‘community nodes’ but will work and show when searched for
FROM n8nio/n8n:latest
RUN npm install -g n8n-nodes-meilisearch
docker-entrypoint.sh: (Default one from n8n repo)
#!/bin/shif [ -d /root/.n8n ] ; then
chmod o+rx /root
chown -R node /root/.n8n
ln -s /root/.n8n /home/node/
fi
chown -R node /home/node
if [ "$#" -gt 0 ]; then
# Got started with arguments
exec su-exec node "$@"
else
# Got started without arguments
exec su-exec node n8n
fi
Examples
Example 1: Adding Documents to an Index
{
"resource": "documents",
"operation": "addOrReplaceDocuments",
"uid": "movies",
"documentsJson": "[{"id": 1, "title": "Inception", "year": 2010}, {"id": 2, "title": "The Matrix", "year": 1999}]"
}
Example 2: Searching with Filters
{
"resource": "search",
"operation": "search",
"uid": "movies",
"additionalFields": {
"query": "sci-fi",
"filter": "year > 2000",
"limit": 20
}
}
Example 3: Checking Task Status
{
"resource": "tasks",
"operation": "getTask",
"uid": 12345
}
Resources
Documentation
Repository
Support
Version History
0.1.4 (Current)
– Full support for all search parameters per query (filters, facets, pagination, etc.)
– Configure multiple queries with different indexes and parameters
0.1.3
– Configurable polling intervals with exponential backoff option
– Fixed interval or exponential backoff modes
– Configurable timeout and max polling interval
– Validates that specified field exists in all documents
– Automatically transforms documents to match index’s primary key field
{{ $json }})0.1.2
0.1.1 – QOL Updates
0.1.0 – Initial Release
Known Limitations & Planned Features
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Development Setup
1. Clone the repository
2. Install dependencies: npm install
3. Build the project: npm run build
4. Run linting: npm run lint
Reporting Issues
If you encounter any issues or have feature requests, please open an issue on the GitHub repository.