CatgirlIntelligenceAgency/code/features-index
Viktor Lofgren 6e7649b5f7 (loader) Mitigate fragile paging behavior
IndexJournalWriterPagingImpl was modified to not page on number of entries written, but number of (equivalent uncompressed) bytes written.

Since the failure mode if too much data is written per file is quiet corruption of the index, the former behavior was extremely fragile.  The new behavior should consistently ensure that the data is sufficiently small to not cause any integer rollovers.

The change in 6dcc20038c was reverted, as there is really no sane reason to have this configurable in software.
2024-02-05 21:05:03 +01:00
..
domain-ranking (*) Replace EC_DOMAIN_LINK table with files and in-memory caching 2024-01-08 15:53:13 +01:00
index-forward (array) Remove unused 'madvise' code and 3rd party dependency on 'uppend' 2024-01-22 13:01:57 +01:00
index-journal (loader) Mitigate fragile paging behavior 2024-02-05 21:05:03 +01:00
index-query (search) Add query strategy requiring link 2024-01-03 16:23:00 +01:00
index-reverse (index-construction) Make random-write file strategy configurable 2024-02-05 12:31:15 +01:00
result-ranking (index-ranking) Adjust the BM25P factors a bit 2024-01-30 21:27:29 +01:00
readme.md (refactor) Remove features-search and update documentation 2023-10-09 15:12:30 +02:00

Index

These are components that offer functionality for the index-service.

Indexes

There are two indexes with accompanying tools for constructing them.

  • index-reverse is code for word->document indexes. There are two such indexes, one containing only document-word pairs that are flagged as important, e.g. the word appears in the title or has a high TF-IDF. This allows good results to be discovered quickly without having to sift through ten thousand bad ones first.

  • index-forward is the document->word index containing metadata about each word, such as its position. It is used after identifying candidate search results via the reverse index to fetch metadata and rank the results.

These indices rely heavily on the libraries/btree and libraries/array components.

Algorithms

Libraries

  • index-query contains structures for evaluating search queries.
  • index-journal contains tools for writing and reading index data.