Difference between revisions of "Improve project search engine (GSoC task)"

From Software Heritage Wiki
Jump to: navigation, search
(add § about web ui)
(add links to the indexing tasks)
Line 18: Line 18:
 
Depending on your preferences, this can be either purely backend changes,
 
Depending on your preferences, this can be either purely backend changes,
 
or may involve changes to the web interface to use these new features.
 
or may involve changes to the web interface to use these new features.
 +
 +
This task is only about searching on the existing Elasticsearch database;
 +
you may also be interested in [[Mine information from archived content (GSoC task)]]
 +
and [[Mine information from external sources (GSoC task)]] to fill this
 +
database; but those are completely independent tasks.
  
 
[[Category:GSoC task]]
 
[[Category:GSoC task]]

Revision as of 12:20, 10 February 2021

The homepage of the Software Heritage archive features a small search engine, that searched in project URLs and project metadata. Project metadata includes name, description, authors, etc.

By the time GSoC starts, it will be implemented by a very small Python service (under 100 lines of code) backed by ElasticSearch.

This service is a MVP (Minimum Viable Product) that was written to replace an older service, based on Postgresql, which was too slow. So there is a lot of room for improvement in terms of adding features and making results more relevant.

Most of the features we have in mind are to allow finer search on project metadata, instead of simply doing a full-text search on the entire metadata; but we are open to suggestions.

Depending on your preferences, this can be either purely backend changes, or may involve changes to the web interface to use these new features.

This task is only about searching on the existing Elasticsearch database; you may also be interested in Mine information from archived content (GSoC task) and Mine information from external sources (GSoC task) to fill this database; but those are completely independent tasks.