Currently we rely on ElasticSearch, by embedding JSON-LD documents and treating them as regular JSON when searching.
This causes issues like T2876 and T4396 because ES expects some sort of strict schema, which goes against JSON-LD's design.
Plus, it does not support any sort of relations between documents, which we would need to run queries against related projects (eg. dependency graphs, fork graphs, "related software")
Therefore, I would like to try using a proper triple-store. [[ https://virtuoso.openlinksw.com | Virtuoso ]] in particular looks promising, as it support both SPARQL and full-text search.