How the Scrape and Index processes work
mainThe project uses a decoupled architecture to handle large-scale scraping and indexing.
Scrape Process
The CLI interacts with a queue (Azure Queue Storage or local sqlite) to manage URLs. It pulls messages to scrape, checks a cache in Blob Storage (or local disk) to avoid re-scraping unchanged pages, browses the web, updates the cache, and pushes new discovered links back to the queue for deeper exploration.
Index Process
The indexing job pulls messages from a 'to-chunk' queue. It retrieves the scraped content from storage, chunks the markdown into coherent parts, generates embeddings via Azure OpenAI, and finally pushes the indexed content into Azure AI Search.