Skip to content
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

IPFS storage and search #308

Open
stjepangolemac opened this issue Jul 15, 2021 · 1 comment
Open

IPFS storage and search #308

stjepangolemac opened this issue Jul 15, 2021 · 1 comment
Labels

Comments

@stjepangolemac
Copy link

Is your feature request related to a problem? Please describe.
I would like to be able to run searches on indexes stored on IPFS.

Describe the solution you'd like
The Storage trait in its current state requires you to implement both read and write functions which is problematic for IPFS. The final IPFS url where the index will be available cannot be known in advance. Potential solution is creating a local index, uploading it to IPFS, then querying it from IPFS directly.

The Storage trait could be broken down into two, StorageRead and StorageWrite. That would allow supporting the IPFS search without creating the index directly on IPFS.

Additional context

@stjepangolemac stjepangolemac added the enhancement New feature or request label Jul 15, 2021
@fmassot
Copy link
Contributor

fmassot commented Jul 19, 2021

Hi @stjepangolemac, thanks for posting this issue. It reminds me of this PR opened in tantivy.

As for quickwit, it is already possible to create and fill an index locally, then, for example, upload the index directory on S3, and then start the server on an AWS instance with the index URI pointing to the right s3 path. You can thus do the same for an IPFS storage.
The commands new, index, and delete are writing at the index URI, but search and serve are only reading in the directory. To be exact, we can write some cache files locally to avoid fetching some files at each request, the copy_to_file method is used in this case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants