Dynamic Search Interface with Elasticsearch and Automated Report Generation
Go to WorkflowDescription
Dynamic Search Interface with Elasticsearch and Automated Report Generation
🎯 What this workflow does
This template creates a comprehensive data search and reporting system that allows users to query large datasets through an intuitive web form interface. The system performs real-time searches against Elasticsearch, processes results, and automatically generates structured reports in multiple formats for data analysis and business intelligence.
Key Features:
🔍 Interactive web form for dynamic data querying
⚡ Real-time Elasticsearch data retrieval with complex filtering
📊 Auto-generated reports (Text & CSV formats) with custom formatting
💾 Automatic file storage system for data persistence
🎯 Configurable search parameters (amounts, time ranges, entity filters)
🔧 Scalable architecture for handling large datasets
🛠️ Setup requirements
Prerequisites
Elasticsearch cluster** running on https://localhost:9220
Transaction dataset** indexed in bank_transactions index
Sample dataset**: Download from Bank Transaction Dataset
File system access** to /tmp/ directory for report storage
HTTP Basic Authentication** credentials for Elasticsearch
Required Elasticsearch Index Structure
This template uses the Bank Transaction Dataset from GitHub: https://github.com/dataminexcode/n8n-workflow/blob/main/Dynamic%20Search%20Interface%20with%20Elasticsearch%20and%20Automated%20Report%20Generation/data
You can use this python script for importing the csv file into elasticsearch: Python script for importing data
Your bank_transactions index should contain documents with these fields:
{
"transaction_id": "TXN_123456789",
"customer_id": "CUST_000001",
"amount": 5000,
"merchant_category": "grocery_net",
"timestamp": "2025-08-10T15:30:00Z"
}
Dataset Info: This dataset contains realistic financial transaction data perfect for testing search algorithms and report generation, with over 1 million transaction records including various transaction patterns and data types.
Credentials Setup
Create HTTP Basic Auth credentials in n8n
Configure with your Elasticsearch username/password
Assign to the "Search Elasticsearch" node
⚙️ Configuration
1. Form Customization
Webhook Path**: Update the webhook ID if needed
Form Fields**: Modify amounts, time ranges, or add new filters
Validation**: Adjust required fields based on your needs
2. Elasticsearch Configuration
URL**: Change localhost:9220 to your ES cluster endpoint
Index Name**: Update bank_transactions to your index name
Query Logic**: Modify search criteria in "Build Search Query" node
Result Limit**: Adjust the size: 100 parameter for more/fewer results
3. File Storage
Directory**: Change /tmp/ to your preferred storage location
Filename Pattern**: Modify fraud_report_YYYY-MM-DD.{ext} format
Permissions**: Ensure n8n has write access to the target directory
4. Report Formatting
CSV Headers**: Customize column names in the Format Report node
Text Layout**: Modify the report template for your organization
Data Fields**: Add/remove transaction fields as needed
🚀 How to use
For Administrators:
Import this workflow template
Configure Elasticsearch credentials
Activate the workflow
Share the webhook URL with data analysts
For Data Analysts:
Access the search interface via the webhook URL
Set parameters: Minimum amount, time range, entity filter
Choose format: Text report or CSV export
Submit form to generate instant data report
Review results in the generated file
Sample Use Cases:
Data analysis**: Search for transactions > $10,000 in last 24 hours
Entity investigation**: Filter all activity for specific customer ID
Pattern analysis**: Quick analysis of transaction activity patterns
Business reporting**: Generate CSV exports for business intelligence
Dataset testing**: Perfect for testing with the transaction dataset
📊 Sample Output
Text Report Format:
DATA ANALYSIS REPORT
Search Criteria:
Minimum Amount: $10000
Time Range: Last 24 Hours
Customer: All
Results: 3 transactions found
TRANSACTIONS:
Transaction ID: TXN_123456789
Customer: CUST_000001
Amount: $15000
Merchant: grocery_net
Time: 2025-08-10T15:30:00Z
CSV Export Format:
Transaction_ID,Customer_ID,Amount,Merchant_Category,Timestamp
"TXN_123456789","CUST_000001",15000,"grocery_net","2025-08-10T15:30:00Z"
🔧 Customization ideas
Enhanced Analytics Features:
Add data validation and quality checks
Implement statistical analysis (averages, trends, patterns)
Include data visualization charts and graphs
Generate summary metrics and KPIs
Advanced Search Capabilities:
Multi-field search with complex boolean logic
Fuzzy search and text matching algorithms
Date range filtering with custom periods
Aggregation queries for data grouping
Integration Options:
Email notifications**: Alert teams of significant data findings
Slack integration**: Post analytics results to team channels
Dashboard updates**: Push metrics to business intelligence systems
API endpoints**: Expose search functionality as REST API
Report Enhancements:
PDF generation**: Create formatted PDF analytics reports
Data visualization**: Add charts, graphs, and trending analysis
Executive summaries**: Include key metrics and business insights
Export formats**: Support for Excel, JSON, and other data formats
🏷️ Tags
elasticsearch, data-search, reporting, analytics, automation, business-intelligence, data-processing, csv-export
📈 Use cases
Business Intelligence**: Organizations analyzing transaction patterns and trends
E-commerce Analytics**: Detecting payment patterns and customer behavior analysis
Data Science**: Real-time data exploration and pattern recognition systems
Operations Teams**: Automated reporting and data monitoring workflows
Research & Development**: Testing search algorithms and data processing techniques
Training & Education**: Learning Elasticsearch integration with realistic datasets
Financial Technology**: Transaction data analysis and business reporting systems
⚠️ Important notes
Security Considerations:
Never expose Elasticsearch credentials in logs or form data
Implement proper access controls for the webhook URL
Consider encryption for sensitive data processing
Regular audit of generated reports and access logs
Performance Tips:
Index optimization improves search response times
Consider pagination for large result sets
Monitor Elasticsearch cluster performance under load
Archive old reports to manage disk usage
Data Management:
Ensure data retention policies align with business requirements
Implement audit trails for all search operations
Consider data privacy requirements when processing datasets
Document all configuration changes for maintenance
This template provides a production-ready data search and reporting system that can be easily customized for various data analysis needs. The modular design allows for incremental enhancements while maintaining core search and reporting functionality.