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++.