Performance Issues with Typesense Faceting and Nested Fields
TLDR Stefan experiences performance issues when faceting against 23 fields in Typesense, especially with nested fields. Kishore Nallan is working on a solution and will follow up on the thread.
Mar 14, 2023 (6 months ago)
I am having a bit of a performance problem, I have 50k+ docs in typesense and a query without faceting takes approx. 23ms, If I enable faceting it takes 100ms - 200ms. I am faceting against 23 fields which is probably too much, aside from reducing the number or lazy loading the facets what can I do to improve performance?
Also removing one nested field (array of objects) adds ~20 ms on it's own. The field has approx 20 items per doc. Is that expected?
Kishore Nallan01:36 PM
Kishore Nallan01:39 PM
But in this case I'll let the user wait for now 😄
Kishore Nallan01:45 PM
0.24.0or affecting older versions?
Kishore Nallan01:52 PM
Indexed 2764 threads (79% resolved)
Dramatic Improvement with Typesense Indexing.
Tim shares their excitement over the greatly improved indexing speed they experienced with Typesense, and Jason asks about their use of faceted numerical fields and limitations with long strings and nested fields.
Nested Field Limitation in Typesense Version 0.24.0.rcn43
NoGame inquired about a nesting limitation in Typesense software, 0.24.0.rcn43 version, and asked for an ETA. Kishore Nallan confirmed the limitation and estimated fix in version 0.25, possibly by end of January.
Query on Performance with Many Fields in Typesense
John asked about the performance implications of having many fields but only searching on a few in Typesense. Kishore Nallan clarified that all indices are field level and independent.
Faceting Objects in Typesense
John wants to facet objects in Typesense, but faces issues. Kishore Nallan suggests creating a feature request on GitHub.
Updating Collections Strategy and Faceting New Field
Nithin asked about strategies for updating collections and faceting new fields. Kishore Nallan suggested creating another collection, indexing in the background and using aliases to switch live traffic over, and shared details about the upcoming release.