Elasticsearch e OpenSearch: storia di una separazione, e stato dell'arte
Nel 2021 erano lo stesso programma. Oggi sono due progetti che hanno camminato cinque anni per conto proprio, entrambi attrezzati per la ricerca semantica, entrambi sproporzionati per la maggior parte dei negozi che li adottano.
Nel 2023 gestivo la ricerca di un grosso e-commerce francese, decine di punti vendita fra Nizza e tutta la Costa Azzurra. Erano stati fra i primi a fare una cosa che allora si vedeva raramente: staccare la ricerca dalla piattaforma di vendita e trattarla come un sistema a se'. Avevano scelto Elasticsearch, con Kibana accanto per leggere che cosa cercava la gente.
Era la scelta giusta, e va detto perche' lo era: in quegli anni Elasticsearch era l'unico motore di categoria enterprise davvero maturo che si potesse installare sulle proprie macchine. Non c'era una seconda opzione di cui discutere.
Un anno dopo portavo i miei clienti verso Algolia. Non per delusione tecnica, il motore faceva quello che prometteva. Per una ragione piu' prosaica: tenere in piedi Elasticsearch non e' un compito di amministrazione ordinaria. Vuole risorse dedicate e una persona con un grado di esperienza che, alla resa dei conti, sul bilancio annuale pesa piu' di qualunque abbonamento.
Poi arrivo' la separazione. Da allora non ho piu' usato Elasticsearch per la ricerca di un sito. OpenSearch invece l'ho ripreso in mano qualche volta, ma per un altro mestiere, e ci arrivo alla fine.PERCHE' SONO DUE
La vicenda merita due minuti, perche' spiega il mercato di oggi.
Fino alla versione 7.10 Elasticsearch era sotto licenza Apache 2.0, cioe' liberamente utilizzabile da chiunque, incluso chi ci costruiva sopra un servizio a pagamento. Nel gennaio 2021 Elastic cambio' licenza, con un bersaglio dichiarato: i fornitori di servizi cloud che rivendevano il suo lavoro senza restituire niente. Il bersaglio principale era Amazon.
Ad aprile 2021 Amazon prese l'ultima versione ancora libera, la 7.10.2, e ne fece un progetto proprio, sotto Apache 2.0. Si chiama OpenSearch. Kibana, il pannello per le statistiche, subi' la stessa sorte e divento' OpenSearch Dashboards.
Poi la vicenda si e' chiusa, in un modo che quasi nessuno ha raccontato. Nell'agosto 2024 Elastic ha aggiunto una terza licenza alle sue, la AGPL v3, che e' una licenza aperta riconosciuta come tale: Elasticsearch e' tornato disponibile a condizioni libere. Un mese dopo, a settembre 2024, Amazon ha ceduto OpenSearch alla Linux Foundation, cioe' se l'e' tolto dalle mani e l'ha consegnato a una fondazione terza.
Il risultato e' che la ragione per cui esistono in due oggi non esiste piu'. La separazione si'. E nel frattempo i due progetti hanno camminato ciascuno per conto proprio per cinque anni, il che, alla velocita' a cui si muove questo settore, e' parecchio.CHE COSA SANNO FARE OGGI SULLA RICERCA SEMANTICA
Entrambi sono attrezzati, e questa e' la notizia per chi si era fermato al 2021.Tutti e due hanno un campo semantico che si configura in un passo solo: si dichiara che quel campo va trattato per significato e il motore si occupa del resto, cioe' trasformare i testi in numeri al caricamento e la domanda in numeri all'interrogazione. Elasticsearch l'ha introdotto nell'agosto 2024, OpenSearch nel giugno 2025.
Tutti e due portano in dote modelli propri, senza obbligo di andare da un fornitore esterno. Elasticsearch ha ELSER per l'inglese e un modello multilingue per il resto; OpenSearch ha i suoi equivalenti, piu' il supporto per le immagini e per la ricerca conversazionale.
E tutti e due fanno ricerca ibrida, con le stesse due tecniche. Ibrida vuol dire che il motore produce due graduatorie sullo stesso catalogo, una per parole e una per significato, e poi deve fonderle in una sola. Il primo metodo guarda solo la posizione: un prodotto che sta terzo in una lista e settimo nell'altra riceve un punteggio calcolato da quei due numeri, ignorando quanto fosse forte il piazzamento. Il secondo somma i punteggi veri, dopo averli pesati: sette decimi da qui, tre da li'. Il primo e' piu' robusto, il secondo piu' governabile. Averli entrambi e' quello che ci si aspetta da uno strumento serio.
DOVE I DUE SI SONO DIVISI
Le due scommesse tecniche degli ultimi anni raccontano bene dove ciascuno pensa di andare.
Elastic ha lavorato sulla compressione. I numeri che rappresentano un testo occupano memoria, e la memoria e' la voce che fa esplodere il conto di un impianto vettoriale. Dalla versione 9.1 Elasticsearch comprime in automatico i vettori sopra una certa dimensione, con un risparmio dichiarato superiore al novanta per cento rispetto alla rappresentazione piena. E' una scommessa sul costo di esercizio.
OpenSearch ha lavorato sull'ampiezza, e regge vettori quattro volte piu' grandi di quelli che accetta Elasticsearch. E' una scommessa su chi arriva con modelli di ricerca costruiti su misura, che quei numeri li produce e non vuole tagliarli.
Detto in modo meno elegante: uno ottimizza per chi ha molti dati e un budget, l'altro per chi ha esigenze inusuali e qualcuno capace di gestirle.QUANDO CONVENGONO A UN NEGOZIO, E QUANDO NO
Qui arriviamo al punto, e la risposta non riguarda le funzioni.
Elasticsearch e OpenSearch non sono motori di ricerca per negozi. Sono infrastruttura di ricerca di uso generale, nata per macinare registri di sistema e grandi quantita' di documenti, e la ricerca prodotti e' uno dei tanti impieghi possibili. Chi li sceglie non compra un elettrodomestico, compra una cassetta degli attrezzi: dentro c'e' tutto, e tocca a voi montarlo.
Hanno senso quando in azienda esiste gia' qualcuno che li amministra, quando la ricerca non e' l'unico impiego previsto, quando il catalogo ha dimensioni fuori scala o va interrogato in modi che un motore da negozio non contempla.
Non hanno senso quando li si adotta per la ricerca del sito e basta. La voce di costo determinante non e' la licenza, che oggi e' aperta su entrambi: e' la persona che li tiene in piedi. Dimensionamento, aggiornamenti, memoria, cluster, e la reperibilita' quando qualcosa si ferma di sabato. Quella persona costa piu' dell'abbonamento che si voleva risparmiare, e a differenza dell'abbonamento non si disdice.
E' esattamente la ragione per cui nel 2024 ho cambiato strada, e lo rifarei.DOVE LI USO ANCORA
Una precisazione, perche' l'articolo non diventi una stroncatura.
OpenSearch l'ho ripreso in mano, ma per un mestiere diverso: conservare la conoscenza di un agente automatico, cioe' i documenti da cui il sistema pesca prima di rispondere. Li' serve un magazzino di vettori solido, che regga volumi seri e stia sulle proprie macchine, e la ricerca prodotti non c'entra. In quel ruolo funziona bene ed e' una scelta difendibile.Il punto non e' che siano strumenti scadenti. E' che sono strumenti per un altro problema.
DA CHE PARTE STIAMO, DETTO CHIARAMENTE
Per la ricerca di un e-commerce noi lavoriamo con Algolia e con Meilisearch, e lo diciamo apertamente invece di fingere equidistanza.
La ragione e' una sola, e non e' la velocita': entrambi sono progettati per questo mestiere e non per uno qualunque. Arrivano sapendo che cos'e' un prodotto, una variante, una vetrina curata a mano, una ricerca che deve rispondere mentre il cliente sta ancora scrivendo. La ricerca per significato ce l'hanno, la ricerca ibrida anche, e non chiedono in cambio una persona dedicata.
Fra i due, Algolia e' un servizio gestito e si paga di conseguenza; Meilisearch si puo' tenere sulle proprie macchine con uno sforzo di amministrazione che rimane proporzionato. Quale dei due dipende dal catalogo e da chi ci lavora dentro, ed e' una decisione che si prende guardando i dati veri, non i listini.
La domanda giusta, prima ancora di scegliere un nome, resta quella di sempre: vi serve uno strumento di ricerca, oppure un impianto da costruire?