Details
-
New Feature
-
Status: Open (View Workflow)
-
Critical
-
Resolution: Unresolved
-
None
-
None
-
Q2/2026 Server Development
Description
Description:
Background:
MariaDB supports JSON data types and allows indexing specific JSON paths via virtual columns, enabling hybrid relational and semi-structured data models. However, it lacks built-in support for indexing all elements within JSON fields, particularly arrays, which limits query performance on complex JSON structures. This story builds on the multi-value index implementation (link to related story) to extend indexing capabilities. Additionally, MariaDB's current full-text search uses basic natural language or boolean modes without advanced ranking algorithms like BM25, which is a probabilistic model for relevance scoring based on term frequency, inverse document frequency, and document length—commonly used in search engines for more accurate results.
Use Case for JSON Indexing:
In e-commerce applications, product details (e.g., attributes like sizes, colors, or features) are often stored in JSON arrays. Indexing all elements within these fields allows efficient queries, such as searching for products with specific array values, without full table scans—reducing latency and improving scalability for large datasets.
Use Case for Full-Text Indexing with BM25:
For content-heavy applications like blogs or knowledge bases, full-text search on text fields (e.g., articles or user-generated content) benefits from BM25's ranking, which prioritizes relevant matches by considering query term importance and document context. A pluggable design enables customization, such as integrating third-party engines, to deliver more precise search results and enhance user satisfaction.
User Story:
As a MariaDB developer or administrator, I want the ability to create indexes that cover all elements inside a JSON field and enable a pluggable full-text index supporting BM25, so that I can optimize queries on semi-structured data and improve search relevance in text-heavy applications.
Acceptance Criteria:
Indexes can be created on JSON fields to include all internal elements (e.g., objects, arrays) for efficient querying.
Pluggable full-text index framework supports BM25 ranking, with configuration options for custom implementations.
Integration tested with multi-value indexes from linked story.
Updated documentation with examples for JSON indexing and BM25 usage.
Performance benchmarks show improved query times on sample JSON and text datasets.
Attachments
Issue Links
- relates to
-
MDEV-25848 Support for Multi-Valued Indexes
-
- Open
-