Chroma's metadata filtering had issues with edge cases in the 'where' clause functionality, specifically:
- Metadata keys that match operator names (like
$in
or$nin
) caused conflicts and ambiguity - The system couldn't reliably distinguish if
$in
in a query should be treated as an operator or a metadata field name - The query processing was inconsistent in handling these special keys