Full-text search engines and time-series databases: Elasticsearch / OpenSearch and InfluxDB.
Search engines and time-series databases are both specialised stores that sit beside a primary database rather than replacing it. They solve different problems: one ranks documents by relevance to free text, the other ingests and aggregates timestamped measurements at high write rates.
Elasticsearch is a distributed, JSON-document search and analytics engine built on Apache Lucene, originally released by Shay Banon in 2010. OpenSearch is…
InfluxDB is the most-deployed open-source time-series database. Designed by InfluxData (founded 2013), it is purpose-built for high-cardinality timestamped…
A search engine runs each document through an analyzer that splits text into terms, normalises case and stems words, then builds an inverted index mapping each term to the documents that contain it. Queries are scored with BM25 or vector similarity and return ranked hits. A time-series database instead organises data by time: each point carries a measurement, tag key/values for filtering and numeric fields. Data is partitioned into time ranges, compressed column by column, and expired by retention policy, which makes range scans and downsampling cheap.
| Requirement | Elasticsearch / OpenSearch | InfluxDB |
|---|---|---|
| Free-text relevance ranking | Core strength | Not designed for it |
| Log search with ad-hoc filters | Strong (ELK / OpenSearch stack) | Possible but limited |
| High-rate numeric metrics | Works, uses more storage | Core strength |
| Downsampling and retention | Index lifecycle policies | Built-in retention and tasks |
| Query language | Query DSL, SQL plugin | SQL / InfluxQL (version dependent) |
Many observability stacks use both: logs and traces go to a search engine where engineers grep and filter them, while metrics go to a time-series store that drives dashboards and alerts. Neither should be the system of record for business data; keep that in a transactional database and feed these stores from it.
See the parent NoSQL section for key-value, document and wide-column stores, and Unstructured Data Indexing for how search indexes feed retrieval-augmented generation.