CatgirlIntelligenceAgency/code/features-index
Viktor Lofgren dcf6218cdb Fix bugs related to search result selection in the case with multiple search terms.
* A deduplication filter step ran too early, and removed many good results on the basis that they partially, but did not fully fit another set of search terms.

* Altered the query creation process to prefer documents where multiple terms appear in the priority index.
2023-03-29 15:18:52 +02:00
..
domain-ranking Move database to a separate module 2023-03-25 15:26:17 +01:00
index-forward Yet more restructuring. Improved search result ranking. 2023-03-16 21:35:54 +01:00
index-journal Remove unrelated code, break tools into their own directory. 2023-03-17 16:03:11 +01:00
index-query Fix bugs related to search result selection in the case with multiple search terms. 2023-03-29 15:18:52 +02:00
index-reverse Fix bugs related to search result selection in the case with multiple search terms. 2023-03-29 15:18:52 +02:00
lexicon DictionaryMap changes. 2023-03-27 17:28:39 +02:00
readme.md Update readme.md 2023-03-20 16:27:37 +01: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.
  • lexicon contains a mapping between words' string representation and an unique integer identifier.