Domanda

Attualmente sto pensando a conservare al meglio i risultati del crawling web in un database. In un'altra domanda sono stati consigliati database orientati al documento per un progetto Web-Crawler: Database per Web Crawler in Python?

Ora mi chiedo se la mappa/riduce sia il modo giusto per tale classificazione e generazione di valore. Almeno sembra essere in grado di fare tali cose (mappa solo per la classificazione come anni o autori e mappa/riduci per calcolare i valori numerici che non riesco a pensare a un esempio al momento).

Tuttavia, map-reduce / documentstores sarebbero anche in grado di darmi i documenti giusti per una determinata parola? In un database relazionale dovrei utilizzare un join su alcune tabelle e quindi ottenere documenti contenenti queste parole:

SELECT * FROM docs d 
JOIN doc_words dw ON dw.doc_id = d.id 
JOIN words w ON dw.word_id = w.id 
WHERE w.word = 'foo'

Immagino che i documenti non siano in grado di un'operazione in quanto non supportano l'indice FullText e non intendono avere molti riferimenti / relazioni.

L'alternativa migliore sarebbe mescolare diversi sistemi? Ad esempio uno per la ricerca di parole, uno per la ricerca di valori diversi se presente (come l'anno di pubblicazione, autore, ...)? Penso che i documenti non siano così negativi per la memorizzazione dei metadati, poiché a volte ci sono valori specifici e talvolta no (e i documenti sono facili da usare su più server se desiderati, non appena ci sono troppi documenti per un server). Tuttavia, non sono sicuro di quale sarebbe il modo migliore per implementare la ricerca di una raccolta di documenti (tra cui pagine Web, PDF, immagini, che hanno sempre metalli diversi, ma spesso necessitano anche di un indice full text).

Per fare una domanda chiara: dovrei usare un altro sistema di database insieme a documentari, utilizzare i documenti da solo (come cercare rapidamente le parole?) O un altro sistema DB da solo?

PS: un altro esempio per un tale problema sarebbe il collegamento tra le pagine Web, che non può essere salvato bene nei documenti. Tuttavia, OrientDB potrebbe risolvere questo problema in quanto sembra combinare il database dei grafici e il database orientato al documento.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top