Quali sono i vantaggi e gli svantaggi di usare un motore di ricerca come un negozio di valore chiave?
-
20-09-2019 - |
Domanda
Dato un motore di ricerca come Lucene e una serie di documenti XML che devono essere completamente conservato, quali sono i vantaggi e gli svantaggi di usare il motore di ricerca come memoria dei valori chiave per la restituzione doucments XML data una chiave primaria unica che ogni documento contiene ?
Soluzione
Search Engine contro DBMS . IMO, l'applicazione cade nel regno DBMS, e probabilmente essere meglio servita da un database chiave-valore, come ad esempio CouchDB. Questo perché si prende nessun vantaggio delle operazioni testuali quali tokenizzazione, derivante etc.
Altri suggerimenti
Se si usa qualcosa come Bussola , ed è XML-to-Lucene motore di mappatura , è una grande soluzione per l'archiviazione e l'esecuzione di query XML documenti, senza andare fino in fondo a un database XML.
Uno svantaggio è che i documenti XML possono essere recuperati solo tramite l'API Lucene (l'archivio dati sottostante è abbastanza impenetrabile), ma posso vivere con questo.
Se tutto quello che si sta per fare è di prova per l'uguaglianza chiave e recuperare un blob, Lucene non ha alcun vantaggio visibile sopra, diciamo, bdb. E non hai transazioni fino a quando utilizzi questa funzione con qualcosa di diverso sulla parte superiore. E la concorrenza ha alcune complicazioni ad esso. E l'API è, beh, un po 'barocco per la cosa semplice che si sta facendo.
Ho implementato qualcosa di simile a ciò che si descrive, ma effettiva ricerca a testo integrale sui dati era un requisito fondamentale che giustifica il resto.