Queste sono domande multiple travestite da uno. Tuttavia:
Come è possibile memorizzare le impostazioni elasticsearch + mapping in un file (come schema.xml per Solr)?
In primo luogo, si noti, che non hanno per specificare la mappatura per un sacco di tipi, come date, numeri interi, o anche le stringhe (quando l'analizzatore di default è OK per voi).
È possibile memorizzare le impostazioni e le mappature in vari modi, in elasticsearch < 1.7
:
- Nella principale elasticsearch.yml file
- in un indice template file
- In un separate file with mappings
Attualmente, quando voglio apportare una modifica alla mia mappatura, devo cancellare le mie impostazioni dell'indice e ricominciare. Mi sto perdendo qualcosa?
È necessario reindicizzare i dati quando si modifica la mappatura per un campo esistente. Una volta che i tuoi documenti sono indicizzati, il motore deve reindicarli, per utilizzare la nuova mappatura.
Nota, che è possibile update index settings, in casi specifici, ad esempio number_of_replicas
, "al volo".
Mi piacerebbe essere in grado di modificare le impostazioni e alcuni come reindex senza iniziare completamente fresco ogni volta. È possibile e se sì, come?
Come detto: si necessario reindicizzare i documenti, se si desidera utilizzare una nuova mappatura per loro.
Se si aggiunge, non si modifica la mappatura, è possibile aggiornare i mapping e i nuovi documenti lo rilevano quando vengono indicizzati.
Siamo spiacenti per le domande multiple. Era tutto uno scenario per me dal momento che non avevo capito il re-index senza avviare l'intero processo. Grazie per la risposta. Attualmente sto modificando i mapping in modo specifico utilizzando i tokenizer NGram e edgeNGram e, nel tentativo di ottenere il giusto, ho dovuto riscriverli. – jbattle
Ho inserito le mie mappature + impostazioni all'interno di uno script di shell in modo da rendere la creazione e la configurazione del mio indice un processo più veloce. – jbattle
Sì, nella maggior parte degli scenari, ha senso avvolgere la creazione dell'indice in una procedura personalizzata (potrebbe essere script di shell, metodo di classe in Ruby, ecc.). Volevo solo indicare molti modi in cui ElasticSearch ti offre di "avvolgere" la logica di mappatura/impostazioni a livello di motore di ricerca. – karmi