# 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](https://oppority.com/topics/information-retrieval.md).

## Within this subject

- [Enterprise search](https://oppority.com/topics/enterprise-search.md): 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](https://oppority.com/topics/apache-lucene.md): The Java library under many search servers. Inverted indexes, analysis chains, and similarity scoring. Solr and Elasticsearch are built on it.
- [Apache Solr](https://oppority.com/topics/apache-solr.md): 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](https://oppority.com/topics/elasticsearch.md): A distributed search and analytics engine on Apache Lucene. I have used it in the same years as Solr.
- [OpenSearch](https://oppority.com/topics/opensearch.md): 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](https://oppority.com/topics/luxir.md): 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](https://oppority.com/work/public-search.md): 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](https://oppority.com/work/concept-search.md): 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](https://oppority.com/work/retail-search.md): Product search, autosuggest, filters, and per-field similarity for an omnichannel retailer: web, marketplace, and stores.
- [Return one record, not a list](https://oppority.com/work/one-best-record.md): From millions of candidates that share an organisation's name and address, return the single best record.
- [A move that kept the answers](https://oppority.com/work/platform-move.md): A production move from self-managed Apache Solr to managed OpenSearch, checked by whether the top results still agreed.
- [The team's output](https://oppority.com/work/search-team.md): 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](https://oppority.com/work/reading-luxir.md): A hands-on reading of Luxir, a new hybrid search engine, run from a Mac or Windows laptop without compiling C++.

## Notes

- [Run Luxir on a Mac or Windows laptop (no Linux, no C++)](https://oppority.com/writing/run-luxir-on-a-mac-or-windows-laptop.md)
