tree 14a88916a1c5bb75eabd4f68a60df464bd9eb2b8
parent 682f512d669b7a9610f615332d9f3ff99c100310
author Will Holley <willholley@apache.org> 1698690069 +0000
committer GitHub <noreply@github.com> 1698690069 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJlP/QVCRBK7hj4Ov3rIwAAg28IAEhqHh/L3hsaoSelNVMhZfgJ
 xe2q++vMhLVWKYBlV5KJdUeqxwrNdumyLfXYL0qeKVj5PvKqkftFknDIXDdHDYN6
 ityyOK++wM86+yru56mslZ10+8zJC94x4CFUbWEFBDs+8qD4YWHY2baESv3c+IG/
 zqSZKq9+5UzR5YjncBvqGIRPTWoemG23zoGfFkA4AhjpIGkhuMiwJKjv1jLud3Zg
 6PEM+7CD+yvjKWmCjr6TDRUi0xydOJTwaFmA4pWK1tzhLYA5RGV4DwF0JJRR2X2d
 mD/amNfJLoHlcZPWzlgRuU1UrKng7lRWn9ZjT6NwkkCv++zK5xDSabWvIUgQt0A=
 =8jj2
 -----END PGP SIGNATURE-----
 

mango: add $beginsWith operator (#4810)

Adds a `$beginsWith` operator to selectors, with json and text index
support. This is a compliment / precursor to optimising `$regex`
support as proposed in https://github.com/apache/couchdb/pull/4776.

For `json` indexes, a $beginsWith operator translates into a key
range query, as is common practice for _view queries. For example,
to find all rows with a key beginning with "W", we can use a range
`start_key="W", end_key="W\ufff0"`. Given Mango uses compound keys,
this is slightly more complex in practice, but the idea is the same.
As with other range operators (`$gt`, `$gte`, etc), `$beginsWith`
can be used in combination with equality operators and result sorting
but must result in a contiguous key range. That is, a range of
`start_key=[10, "W"], end_key=[10, "W\ufff0", {}]` would be valid,
but `start_key=["W", 10], end_key=["W\ufff0", 10, {}]` would not,
because the second element of the key may result in a non-contiguous
range.

For text indexes, `$beginsWith` translates to a Lucene query on
the specified field of `W*`.

If a non-string operand is provided to `$beginsWith`, the request will
fail with a 400 / `invalid_operator` error.