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

Idea: use a search engine to power search #1041

Open
vignesh-sankaran opened this issue Sep 5, 2017 · 8 comments
Open

Idea: use a search engine to power search #1041

vignesh-sankaran opened this issue Sep 5, 2017 · 8 comments
Labels
A-search B-needs-investigation C-enhancement ✨ Category: Adding new behavior or a change to the way an existing feature works

Comments

@vignesh-sankaran
Copy link
Contributor

Just putting an idea out there, maybe we could look into using something like Lucene or ElasticSearch (powered by Lucene too if I'm not mistaken) sometime down the road. I interned in the Search Quality team at Seek Limited a couple of years back, so can ask some developers about some of the intricacies of setting this up if this is something of interest :).

@kureuil
Copy link
Contributor

kureuil commented Sep 5, 2017

An https://www.algolia.com/ employee once said that we were eligible for their free plan.
It could be simpler to setup in the near-term, though it's probably "safer" to be in control of all of the stack (also would avoid private crates.io instances depending on an external service).

@vignesh-sankaran
Copy link
Contributor Author

vignesh-sankaran commented Sep 6, 2017

Yep, I feel we should be running it locally, because if we change the way we do search to an online service, it could be a problem for a private crates.io instance running behind a corporate firewall. That and we can't develop + test crates.io offline :).

So I've come back with a bag of alternative Rust-based search engines too we could look at, depending on what features we need and how complete they are. The list I have currently is the following:

If this is something of interest to implement, I can start researching how to set this up. If I'm going to work on this, it could be a while before I get to this.

@carols10cents
Copy link
Member

I'm interested in knowing exactly how a different search will improve on results, and what they make possible that isn't possible with postgres, before adding another dependency. Postgres has quite powerful search capabilities, but we're definitely not using them all in the best ways we could be. I'd be worried we'd switch to something else that we also wouldn't spend time tuning and be no better off except for an extra dependency.

This may involve researching the different systems, and it may involve actually using them and comparing results to what we have today.

@vignesh-sankaran
Copy link
Contributor Author

This is something that needs to be researched, and I'm currently unable to do that :(

@Deedasmi
Copy link
Contributor

Just tagging #370 on here as an alternative and #159 as a motivation.

@erlend-sh
Copy link

I'd love to chat more about this if there's still interest. We made a live demo for Crates powered by MeiliSearch:

https://crates.meilisearch.com/

As a first trial project, you could start by using MeiliSearch just for its client-side, search-as-you-type functionality. You could self-host MeiliSearch or we'd provide you with managed API hosting for free.

@Turbo87 Turbo87 added C-enhancement ✨ Category: Adding new behavior or a change to the way an existing feature works and removed P-low labels Feb 11, 2021
@Turbo87 Turbo87 removed the E-big label Jul 23, 2024
@TheGP
Copy link

TheGP commented Sep 3, 2024

The https://lib.rs/ even shows proper results for "dotenv" query, I'm switching to it, thanks @erlend-sh!

So will there be any movements regarding improving the search? It should be a priority as finding the right tools for building a project is important. You don't have resources or are you working on some less important tasks?

@Turbo87
Copy link
Member

Turbo87 commented Sep 3, 2024

It should be a priority as finding the right tools for building a project is important

what good is better search if the API is offline because of scaling issue? we've mostly been focused on dealing with growth issues and unfortunately we're not quite done with that yet. I agree that a good search is important, but there are a lot of other things that are also important.

So will there be any movements regarding improving the search?

do you want to help build this? crates.io is a free service and the code is open-source, so if you see a way to improve the service you are welcome to implement it.

You don't have resources or are you working on some less important tasks?

we have very few resources and, as mentioned above, yes, they are currently allocated differently

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-search B-needs-investigation C-enhancement ✨ Category: Adding new behavior or a change to the way an existing feature works
Projects
None yet
Development

No branches or pull requests

7 participants