Domanda

Sto considerando l'uso di Apache solr per indicizzare i dati in un nuovo progetto. I dati sono fatti di diversi tipi indipendenti, il che significa che ce ne sono ad esempio

  • botanici
  • animali
  • automobili
  • computer

da indicizzare. Dovrei utilizzare indici diversi per ciascuno dei tipi o ha più senso utilizzare un solo indice? In che modo l'utilizzo di molti indici influisce sulle prestazioni? O c'è qualche altra possibilità per raggiungere questo obiettivo?

Grazie.

È stato utile?

Soluzione

Entrambi sono approcci legittimi, ma ci sono compromessi. Innanzitutto, quanto è grande il tuo set di dati? Se è abbastanza grande da poter essere partizionato su più server, probabilmente ha senso avere indici diversi.

In secondo luogo, quanto è importante la prestazione: indicizzarla insieme comporterà probabilmente prestazioni peggiori, ma il grado dipende dalla quantità di dati presenti e dalla complessità delle query.

In terzo luogo, è necessario eseguire una query per più tipi di dati nella stessa ricerca? In tal caso, indicizzare tutto insieme può essere un modo conveniente per consentirlo. Tecnicamente questo potrebbe essere ottenuto con indici separati, ma ottenere i risultati più pertinenti per la query potrebbe essere una sfida (non che non lo sia già)

In quarto luogo, un singolo indice con un singolo schema e configurazione può semplificare la vita di chiunque implementerà e manterrà il sistema.

Un'altra cosa da considerare sono gli ID: tutti i diversi oggetti hanno un identificatore univoco tra tutti i tipi? In caso contrario, probabilmente dovrai generarlo se vuoi indicizzarli insieme.

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