2015-07-13 13 views
7

Stavo usando Solr per l'indicizzazione e la ricerca. Ora, i miei nuovi dati vengono indicizzati su elasticsearch. Come posso utilizzare gli indici Solr di elasticsearch per la ricerca combinata?Come utilizzare gli indici Solr di Elasticsearch

Poiché Solr e elasticsearch sono entrambi costruiti su Apache Lucene, deve esistere un modo/plug-in per consumare gli indici Solr di elasticsearch corretti?

Il mio tentativo:

Ho trovato un river per questo, ma i fiumi sono in deprecated elasticsearch da 1.5.0.

risposta

5

Non è possibile farlo direttamente (senza migrazione dei dati) poiché le loro strutture/rappresentazioni interne non sono compatibili. Anche i loro linguaggi di query non sono compatibili.

Ma potresti essere in grado di utilizzare un motore federato davanti a loro, ad esempio Carrot2.

+0

Grazie per la risposta :) –

2

Sebbene entrambi i server di ricerca utilizzino Lucene (e gli indici interni vengono memorizzati come indici di Lucene) presentano molte differenze nel modo in cui utilizzano Lucene quando consegnano documenti (come versioni di documenti, strategie di sharding, mapping dinamico, ecc.) renderebbe difficile l'uso dello stesso indice in atto. Se i tuoi dati sono memorizzati nell'istanza SolR potresti essere in grado di estrarli da SolR e inserirli nella tua ElasticSearch.

Tra l'altro il fiume ti dà la stessa limitazione: "campi solo memorizzati possono essere recuperati da Solr, quindi indicizzato in elasticsearch"