Skip to content

A fast boolean expression index implementation, especially for RTB ad selection. A Go implementation of the core algorithm in Standford and Yahoo's paper <Indexing Boolean Expression>

License

Notifications You must be signed in to change notification settings

csimplestring/bool-expr-indexer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DNF: A or B or C

given a set of DNFs, split into conjunctions, assign conjunction ID each conjunction has a pointer to its parent DNF. compute the size of each conjunction.

build K-index table: partition all the conjunctions by its size.

0 -> map[key]postingList 1 -> map[key]postingList 2 -> map[key]postingList

posting list is a sorted list of entry, entry: <conjunction-id, boolean flag(belong or not), score> entries are sorted by conjunction-id, bool-flag ascendingly there is a special post-list Z, for zero-size conjunction

  • scoring pruning (Done)
  • logging monitoring
  • lock for RW indexing
  • computation/storage separation: different index-store options: redis, memory
  • HA configuration distributed
  • http, grpc api
  • web UI
  • plugin: CDC read

About

A fast boolean expression index implementation, especially for RTB ad selection. A Go implementation of the core algorithm in Standford and Yahoo's paper <Indexing Boolean Expression>

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published