Information retrieval

Search engines

The libraries and servers that keep an index and answer a query. The names under this subject are systems I have read and worked with.

Broader subject: Information retrieval

Within this subject

  • Enterprise search — Search run for the people of one organization: schema, analyzers, ranking, and the daily work of keeping results trustworthy. About ten years of practice sit in this subject.
  • Apache Lucene — The Java library under many search servers. Inverted indexes, analysis chains, and similarity scoring. Solr and Elasticsearch are built on it.
  • Apache Solr — A search server on Apache Lucene: schema, request handlers, and the operation of a cluster. It is the engine I have spent the most years with.
  • Elasticsearch — A distributed search and analytics engine on Apache Lucene. I have used it in the same years as Solr.
  • OpenSearch — A search engine in the Lucene family, in the same line of study as Solr, including what has to remain true in the top results when an index moves.
  • Luxir — An open-source hybrid search engine by Yonik Seeley, the original author of Apache Solr. Text, vectors, facets, and geo over HTTP. My note is a laptop guide for the official Linux binary.

Work

  • Public search at country scale — Search a citizen can use: a polling place, a beneficiary record, found in hundreds of millions of rows.
  • Concept search before vectors were the default — A books-and-journals search that let people explore by concepts, built in 2018 from phrases and similarity, not from a vector database.
  • One catalog, many storefronts — Product search, autosuggest, filters, and per-field similarity for an omnichannel retailer: web, marketplace, and stores.
  • Return one record, not a list — From millions of candidates that share an organisation's name and address, return the single best record.
  • A move that kept the answers — A production move from self-managed Apache Solr to managed OpenSearch, checked by whether the top results still agreed.
  • The team's output — Leading a search engineering group while staying close enough to the system to tell a relevance question from an operations question.
  • A new engine, tried on a laptop — A hands-on reading of Luxir, a new hybrid search engine, run from a Mac or Windows laptop without compiling C++.

Notes