Andrew Lalis 79084dbb9e | ||
---|---|---|
src/main | ||
.gitignore | ||
LICENSE | ||
README.md | ||
pom.xml |
README.md
D Package Search
An indexer and search API for D programming language packages as registered on https://code.dlang.org, using Apache Lucene.
Setup
To set up and run the program, all you need is Java version 21 or higher, and then run the project using your favorite IDE. It will boot up a web server that you can use to search for packages at http://localhost:8080/search?query=test, replacing query=test
with what you want to search for.
Architecture
The basic architecture of this searcher is that of your classic indexed search engine, which is usually comprised of the following steps:
- Fetch raw data from somewhere.
- Generate an index from that data.
- Search for relevant data using the index.
In this application, steps 1 and 2 are done periodically in a separate thread, to ensure that the data stays relatively fresh. Step 3 is done whenever a request to the /search
endpoint is received.