From ce5ae1931d693ce247eb3d8e039ffafc27f1a1c9 Mon Sep 17 00:00:00 2001 From: Viktor Lofgren Date: Mon, 15 Jan 2024 16:08:01 +0100 Subject: [PATCH] (doc) Update Crawling Docs Still a WIP, but now more accurately reflects the new GUI, with screenshots to boot! --- doc/crawling.md | 56 +++++++++++++++++++++------------------- doc/images/datasets.png | Bin 0 -> 44995 bytes 2 files changed, 30 insertions(+), 26 deletions(-) create mode 100644 doc/images/datasets.png diff --git a/doc/crawling.md b/doc/crawling.md index 6f1bb8db..a7bfad3d 100644 --- a/doc/crawling.md +++ b/doc/crawling.md @@ -51,9 +51,13 @@ Go to `Nodes->Node 1->Actions->New Crawl` Click the link that says 'New Spec' to arrive at a form for creating a new specification: -Fill out the form with a description and a link to the domain list. +![img](images/new_spec.png) -## Crawling +Fill out the form with a description and a link to a domain list. The domain list is a text file +with one domain per line, with blank lines and comments starting with `#` ignored. You can use +github raw links for this purpose. For test purposes, you can use this link: +`https://downloads.marginalia.nu/domain-list-test.txt`, which will create a crawl for a few +of marignalia.nu's subdomains. If you aren't redirected there automatically, go back to the `New Crawl` page under Node 1 -> Actions. Your new specification should now be listed. @@ -79,35 +83,35 @@ from stalling the crawl indefinitely. ## Converting -Once the crawl is finished, you can convert and load the data to a format that can be loaded into the database. +Once the crawl is done, the data needs to be processed before its searchable. This is done by going to +`Nodes->Node 1->Actions->Process Crawl Data`. -First you'll want to go to Storage -> Crawl Data, and toggle the `State` field next to your new crawl -data into `Active`. This will mark it as eligible for processing. +[screenshot here] -Next, go to Actions -> Process Crawl Data, and click `[Trigger Reprocessing]`. Ensure your crawl data -is visible in the list. This will start the automatic conversion and loading process, which can be followed -in the `Overview` view. +This will start the conversion process. This will again take a while, depending on the size of the crawl. +The process bar will show the progress. When it reaches 100%, the conversion is done, and the data will begin +loading automatically. A cascade of actions is performed in sequence, leading to the data being loaded into the +search engine and an index being constructed. This is all automatic, but depending on the size of the crawl data, +may take a while. -This process will take a while, and will run these discrete steps: +When an event `INDEX-SWITCH-OK` is logged in the `Event Summary` table, the data is ready to be searched. -* CONVERT the crawl data into a format that can be loaded into the database -* LOAD, load posts into the mariadb database, construct an index journal and sqlite linkdb -* Delete the processed data (optional; depending on node configuration) -* Create a backup of the index journal to be loaded (can be restored later) -* Repartition and create new domain rankings -* Construct a new index -* * Forward -* * Full -* * Priority -* Switch to the new index - -All of this is automatic and most of it is visible in the `Overview` view. - -## Recrawling (IMPORTANT) +## Re-crawling The work flow with a crawl spec was a one-off process to bootstrap the search engine. To keep the search engine up to date, it is preferable to do a recrawl. This will try to reduce the amount of data that needs to be fetched. -To trigger a Recrawl, ensure your crawl data is set to active, and then go to Actions -> Trigger Recrawl, -and click `[Trigger Recrawl]`. This will behave much like the old crawling step. Once done, it needs to be -processed like the old crawl data. +To trigger a Recrawl, go to `Nodes->Node 1->Actions->Re-crawl`. This will bring you to a page that looks similar to the +first crawl page, where you can select a set of crawl data to use as a source. Select the crawl data you want, and +press `[Trigger Recrawl]`. + +Crawling will proceed as before, but this time, the crawler will try to fetch only the data that has changed since the +last crawl, increasing the number of documents by a percentage. This will typically be much faster than the initial crawl. + +### Growing the crawl set + +The re-crawl will also pull new domains from the `New Domains` dataset, which is an URL configurable in +`[Top Menu] -> System -> Data Sets`. If a new domain is found, it will be assigned to the present node, and crawled in +the re-crawl. + +![Datasets screenshot](images/datasets.png) diff --git a/doc/images/datasets.png b/doc/images/datasets.png new file mode 100644 index 0000000000000000000000000000000000000000..a5bf0d87689b806bc8df4d74ea176c878cec77b1 GIT binary patch literal 44995 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 bODg_xs&kYhY#59{u4`9s=oDSK_xJw+Kd983 literal 0 HcmV?d00001