This contains the Rust code needed to support all query patterns for FiloDB. This is part 3 of the series and is not usuable end to end until additional PRs complete.
This PR splits the logic into a common tantivy library, where collectors and query extensions are implemented, and the filodb library, where specific JVM bridge methods and business logic exists.
The majority of this PR are custom collectors and caching to better match the performance of Lucene in the FiloDB use cases. The glue logic to connect these collectors to JVM methods are for the most part very straight forward - parse a query, run it, serialize results.
Pull Request checklist
[X] The commit(s) message(s) follows the contribution guidelines ?
[ ] Tests for the changes have been added (for bug fixes / features) ?
[ ] Docs have been added / updated (for bug fixes / features) ?
This contains the Rust code needed to support all query patterns for FiloDB. This is part 3 of the series and is not usuable end to end until additional PRs complete.
This PR splits the logic into a common tantivy library, where collectors and query extensions are implemented, and the filodb library, where specific JVM bridge methods and business logic exists.
The majority of this PR are custom collectors and caching to better match the performance of Lucene in the FiloDB use cases. The glue logic to connect these collectors to JVM methods are for the most part very straight forward - parse a query, run it, serialize results.
Pull Request checklist
Current behavior : (link exiting issues here : https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests)
n/a
New behavior :
Adds query methods for Tantivy index. The Scala side of this will be in the next PR to glue it all together.