New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handling varying milli versions/dumps #9
Comments
Initial ThoughtsHere are some initial thoughts based on preliminary research. DumpsUnfortunately, it appears dumps are not a good option. The way meilisearch itself handles dumps is subpar (to say the least). However, this is not their fault; the problem is rooted in the fact that different versions of dumps require different features/functionality. Thus, many dump conversion utilities are needed to read older dump versions (i.e. Further, we do not know when a user of this package will update this package. Thus, it is impossible to know on a user's device when we should make a dump, which means you would have to make a dump after every write transaction. At that point, you might as well just have a mirrored data store of all documents using a different database. Multiple Milli VersionsPackaging multiple versions of milli in this package seems like the current best option. The idea: only include newer versions of milli (that break index format) into the project as required to reduce needed dev work and plugin size. If index format between milli versions is the same (perhaps for small releases or bug fixes), then we can simply do an update of the milli package version to include the new version (e.g. replace "=0.35.0" with "=0.35.1" below)! Then, this package itself will have a reference to every milli version supported and its corresponding wrapper, so we can easily migrate between versions at-will. This should be possible with something like the following in
We will also need to implement a wrapper for each version of milli; however, this should not be too much work as the milli APIs probably won't change that much. Mostly just a copy-paste. With this approach, we will also need a |
Related: meilisearch/meilisearch#2570
The text was updated successfully, but these errors were encountered: