elgoog is a (basic) document-search and query-retrieval engine that I developed for the Applied Information Retrieval (CS546, Fall-2019) class at UMass, Amherst.
elgoog uses inverted-index for fast query lookup.
It also supports phrase operators (like ordered and unordered windows or exact phrase matches (which is same as ordered window operator with no separation between the terms)) by using a Bayesian inference network model for query retrieval.
elgoog currently uses 4 scoring mechanisms:
- raw-count
- BM-25
- Query likelihood using Jelenik Mercer smoothing
- Query likelihood using Dirichlet smoothing