CatgirlIntelligenceAgency/code/libraries
Viktor Lofgren 4baf9527d7 (*) WIP Control GUI redesign, executor-service, multi-node mq
This turned out to be very difficult to do in small isolated steps.

* Design overhaul of the control gui using bootstrap
* Move the actors out of control-service into to a new executor-service, that can be run on multiple nodes
* Add node-affinity to message queue
2023-10-14 12:08:43 +02:00
..
array (index-reverse) Parallel construction of the reverse indexes. (#52) 2023-10-07 10:00:00 +02:00
big-string (*) Upgrade to JDK21 with preview enabled. 2023-09-24 10:38:59 +02:00
blocking-thread-pool (*) WIP Control GUI redesign, executor-service, multi-node mq 2023-10-14 12:08:43 +02:00
braille-block-punch-cards (*) Upgrade to JDK21 with preview enabled. 2023-09-24 10:38:59 +02:00
btree (index-reverse) Parallel construction of the reverse indexes. (#52) 2023-10-07 10:00:00 +02:00
easy-lsh (*) Upgrade to JDK21 with preview enabled. 2023-09-24 10:38:59 +02:00
guarded-regex (*) Upgrade to JDK21 with preview enabled. 2023-09-24 10:38:59 +02:00
language-processing (refactor) Remove features-search and update documentation 2023-10-09 15:12:30 +02:00
message-queue (*) WIP Control GUI redesign, executor-service, multi-node mq 2023-10-14 12:08:43 +02:00
next-prime (*) Upgrade to JDK21 with preview enabled. 2023-09-24 10:38:59 +02:00
random-write-funnel (*) Upgrade to JDK21 with preview enabled. 2023-09-24 10:38:59 +02:00
term-frequency-dict (build) Move unit test configuration to root build.gradle 2023-10-04 12:46:22 +02:00
LICENSE.txt The refactoring will continue until morale improves. 2023-03-12 10:50:31 +01:00
readme.md (mq) Refactor mq and actor library and move it to libraries out of common 2023-08-15 10:53:23 +02:00

Libraries

These are libraries that are not strongly coupled to the search engine's business logic. These libraries may not depend on features, services, processes, models, etc.

NOTE: These libraries are co-licensed under the MIT license.

Libraries

  • The array library is for memory mapping large memory-areas, which Java has bad support for. It's designed to be able to easily replaced when Java's Foreign Function And Memory API is released.
  • The btree library offers a static BTree implementation based on the array library.
  • language-processing contains primitives for sentence extraction and POS-tagging.
  • The message-queue library.

Micro libraries

  • easy-lsh is a simple locality-sensitive hash for document deduplication
  • guarded-regex makes predicated regular expressions clearer
  • big-string offers seamless string compression
  • random-write-funnel is a tool for reducing write amplification when constructing large files out of order.
  • next-prime naive brute force prime sieve.
  • braille-block-punch-cards renders bit masks into human-readable dot matrices using the braille block.