Carica, converti e archivia più feed di dati di prodotti diversi in un database

2

Non sono sicuro se questa posizione giusta per questa domanda, ma qui è.

Al momento ho circa 30 diversi feed di dati sui prodotti CSV o TXT. Sto cercando di creare uno strumento per

1) carica ogni feed

2) separa ogni feed riga per riga

3) estrai ogni titolo, categoria, prezzo, ecc. in un oggetto prodotto e ...

4) crea o aggiorna ciascun prodotto nel database.

Ecco il mio problema. Ogni feed ha un nome diverso per gli attributi di intestazione come title , category , price , ecc. Anche le categorie di ogni feed sono uniche.

Finora l'approccio a cui mi sono orientato è: (nota questa è una panoramica approssimativa)

  1. L'amministratore compila il modulo dell'interfaccia utente. L'amministratore seleziona un tipo di file e amp; allega il feed di dati del prodotto
  2. Al momento dell'invio, il feed di dati del prodotto viene inviato pezzo per pezzo e salvato su disco tramite socket.io
  3. Una volta salvato il file, un lavoro viene aggiunto alla coda dei lavori per elaborare il feed di dati
  4. Una volta chiamato il lavoro, prima controlliamo i nuovi attributi dei dati di intestazione, se viene scoperto un nuovo attributo, mettiamo il lavoro in attesa e impostiamo un prompt dell'interfaccia utente per definire quale sia l'attributo header, Fe. l'amministratore dovrebbe mappare Classification -> category , Name -> title o Product Name -> title .
  5. Una volta riconosciuti tutti gli attributi dell'intestazione, interrompiamo il file riga per riga utilizzando i flussi.
  6. Con ogni linea spezzata prendiamo il title , category , price , ecc. Controlliamo quindi se il prodotto esiste, in caso affermativo, aggiorna il prodotto, in caso contrario, crea il prodotto.
  7. Una volta elaborata ogni riga, cancelliamo il file e contrassegniamo il lavoro come completo.

Quale sarebbe un buon modo per mappare le categorie di feed in arrivo alle mie categorie db? Stavo pensando di impostare un prompt dell'interfaccia utente, Fe. Mens Footwear -> Mens Shoes .

Sto andando nella giusta direzione? Devo consolidare tutti i feed e quindi importare? O sto solo sbagliando tutto questo?

    
posta user1828780 18.11.2015 - 06:48
fonte

1 risposta

1

Un po 'tardi vai al gioco, forse ... Inciampato su questa vecchia domanda senza risposta e ho pensato di aggiungere un'idea.

Gli attributi che vuoi mappare sembrano essere piuttosto bassi nella quantità? Voglio dire, probabilmente non ci sono molti sinonimi in "categoria", ecc.

Che ne dici di adottare un approccio di supposizione e apprendimento. Ogni volta che incontri un nuovo nome di attributo lo aggiungi ad una delle tue mappe o chiedi all'utente di aggiungerlo.

Dopo un po 'dovresti essere in grado di decodificare le strutture più comuni. Questo è se il tuo materiale di input è molto simile a quello che descrivi nella tua domanda.

    
risposta data 02.02.2017 - 15:11
fonte

Leggi altre domande sui tag