Opensolr Changelog
Recent updates and improvements to the Opensolr platform.
Data Ingestion Mar 8, 2026
- Fix Fixed a bug where the internal rtf flag was not always stripped before sending documents to Solr, causing an "unknown field rtf" error that failed the entire batch. The flag is now reliably removed regardless of how the value was encoded (boolean, string, or integer).
- Fix The Data Ingestion API now correctly sets the content_type field for every document. If you don't provide one, it defaults to text/html so your documents appear in the web search tab instead of being classified as media. When using rtf:true, the MIME type is auto-detected from the actual file content — PDFs get application/pdf, Word documents get their proper DOCX type, and so on.
- Improved Cleaner error display in the ingestion queue table. Error columns now show a short summary like "30 ok, 20 doc(s) failed — click for details" instead of the full raw error. Click the message to open the Job Detail modal with the complete breakdown per document.
- Improved Detailed Solr error reporting in the Data Ingestion Queue. When a document fails at the Solr level — unknown field, type mismatch, schema violation — the exact error from Solr is captured and shown in the Job Detail modal. No more guessing why a document was rejected.
- New Job Detail modal in the Data Ingestion Queue. Click any Job ID to see the full picture: status, progress, success and error counts, all timestamps, the complete error message, the processing result, and the entire payload that was submitted — with pretty-printed JSON.
- New Retry failed or completed ingestion jobs with one click. The Retry button resets the job back to pending, clearing all progress so you can re-run it after fixing the issue. Available on completed, failed, and stopped jobs.
- New Granular Run Now controls in the Data Ingestion Queue. Trigger immediate processing for a single job, an entire index, or all pending jobs for a user — no more waiting for the next cron cycle. Each pending job shows its own Run button, and every index header has a Run button when there are pending jobs.