chaisql / chai

Modern embedded SQL database
MIT License
1.56k stars 95 forks source link

Any plan to support wildcard index like MongoDB #451

Open xqzhou opened 2 years ago

xqzhou commented 2 years ago

Proposal

For the following example documents:

{
  "product": "iPhone",
  "attributes": {
    "storage": 16,
    "camera": 1200
  }
},
{
  "product": "Jacket",
  "attributes": {
    "size": "XL",
    "color": "Black"
  }
}

It would be convenient to create an wildcard index like:

CREATE INDEX on idx_prod_attrs on product (attribuites.$) 

Query can then filter by any of the possible attribute keys and speed up by index:

SELECT * FROM product where attributes.storage >= 16;
SELECT * FROM product where attributes.size = 'XL';

Motivation

MongoDB support this type of index https://www.mongodb.com/blog/post/coming-in-mongodb-42--1-wildcard-indexes