# Create collection curl "${TYPESENSE_BASE_URL}/collections" \ -X POST \ -H "Content-Type: application/json" \ -H "X-TYPESENSE-API-KEY: ${TYPESENSE_API_KEY}" \ -d '{ "name": "products:test", "fields": [ {"name": "title", "type": "string", "optional": true}, {"name": "bestseller", "type": "int32", "optional": true, "sort": true}, {"name": "sale", "type": "bool", "optional": true, "sort": true}, {"name": "firstavailable", "type": "int64", "optional": true, "sort": true} ], "enable_nested_fields": true }' # Add documents curl "${TYPESENSE_BASE_URL}/collections/products:test/documents/import?action=create" \ -H "X-TYPESENSE-API-KEY: ${TYPESENSE_API_KEY}" \ -H "Content-Type: text/plain" \ -X POST \ -d '{"id":"1","title":"Wireless Mouse","bestseller":85,"sale":false,"firstavailable":1719878400} {"id":"2","title":"Gaming Keyboard","bestseller":60,"sale":true,"firstavailable":1722556800} {"id":"3","title":"Bluetooth Speaker","bestseller":45,"sale":false,"firstavailable":1717286400} {"id":"4","title":"USB-C Charger","bestseller":72,"sale":true,"firstavailable":1725148800} {"id":"5","title":"Noise-Cancelling Headphones","bestseller":90,"sale":false,"firstavailable":1714608000} {"id":"6","title":"4K Monitor","bestseller":55,"sale":true,"firstavailable":1727827200} {"id":"7","title":"Portable SSD 1TB","bestseller":40,"sale":false,"firstavailable":1711929600} {"id":"8","title":"Smartwatch Pro","bestseller":65,"sale":true,"firstavailable":1720406400} {"id":"9","title":"Ergonomic Office Chair","bestseller":75,"sale":false,"firstavailable":1716249600} {"id":"10","title":"Mechanical Pencil","bestseller":20,"sale":true,"firstavailable":1726444800}' # Create an override that sorts by bestseller curl "${TYPESENSE_BASE_URL}/collections/products:test/overrides/mouse" -X PUT \ -H "Content-Type: application/json" \ -H "X-TYPESENSE-API-KEY: ${TYPESENSE_API_KEY}" -d '{ "rule": { "query": "mouse", "match": "contains" }, "sort_by": "_text_match(buckets: 10):desc, bestseller:desc", "remove_matched_tokens": false, "stop_processing": true }' # Search with wildcard + custom sort # EXPECTED: Results sorted by firstavailable:desc # ACTUAL: Sorted by bestseller (override) curl -H "X-TYPESENSE-API-KEY: ${TYPESENSE_API_KEY}" \ "${TYPESENSE_BASE_URL}/collections/products:test/documents/search?q=*&sort_by=firstavailable:desc" # Disable overrides — sorting works as expected curl -H "X-TYPESENSE-API-KEY: ${TYPESENSE_API_KEY}" \ "${TYPESENSE_BASE_URL}/collections/products:test/documents/search?q=*&sort_by=firstavailable:desc&enable_overrides=false"