By Suneet Jain
Blazing-fast, Rust-powered Full-Text Search for your Strapi backend using Tantivy. Bridges Strapi and Tantivy via native Node.js bindings, providing instant search indexing via Strapi lifecycle hooks and optional Redis caching without needing external search engines like Elasticsearch or Algolia.
released August 3, 2026
npm install strapi-plugin-tantivyStrapi Plugin Tantivy bridges the gap between Strapi and Tantivy (via node-tantivy-binding), providing an incredibly fast, highly scalable, full-text search engine natively integrated into your Strapi backend.
Forget complex external setups like Elasticsearch or Algolia—get lightning-fast search capabilities directly within your Node.js infrastructure.
To install this plugin, run the following command in your Strapi project:
npm install strapi-plugin-tantivy
# or
yarn add strapi-plugin-tantivyEnable and configure the plugin in your config/plugins.js (or config/plugins.ts) file.
module.exports = ({ env }) => ({
// ... your other plugins
'strapi-plugin-tantivy': {
enabled: true,
config: {
// Enable or disable Redis caching for search queries
redisCache: true,
// List the Content-Type UIDs of the collections you want to index
collections: [
'api::device.device',
'api::vendor.vendor',
'api::app.app',
'api::product.product'
]
}
}
});Once configured, the plugin performs the following tasks:
afterCreate, afterUpdate, and afterDelete hooks of the collections specified in your configuration.temp/ or data/)./api/search) to retrieve fast, semantically ranked search results.You can trigger a search via the Strapi API by leveraging the plugin's services. Assuming you expose a custom controller:
const { data } = await strapi.plugin('strapi-plugin-tantivy').service('tantivy').search(query, collectionUid);(Note: Ensure you have built out a custom route/controller or are using the one exposed natively by the plugin!)
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
npm install.git checkout -b feature/amazing-feature).git commit -m 'Add some amazing feature').git push origin feature/amazing-feature).This project is licensed under the MIT License.
Share your work with the community and get it listed in the Strapi ecosystem for everyone to discover and use.
Submit
