2015-07-13 24 views
7

Użyłem Solr do indeksowania i wyszukiwania. Teraz moje nowe dane są indeksowane na elasticsearch. W jaki sposób mogę korzystać z indeksów Solr z elastycznego przeszukiwania dla wyszukiwania łączonego?Jak używać indeksów Solr z Elasticsearch

Ponieważ Solr i elastyczna wyszukiwarka są zbudowane ponad Apache Lucene, musi istnieć sposób/wtyczka do spożywania indeksów Solr z elastycznego wyszukiwania prawda?

Moja próba:

znalazłem river za to, ale rzeki są deprecated w elasticsearch od 1.5.0.

Odpowiedz

5

Nie można tego zrobić bezpośrednio (bez migracji danych), ponieważ ich wewnętrzne struktury/reprezentacje nie są kompatybilne. Ich języki zapytań również nie są kompatybilne.

Ale możesz mieć przed sobą silnik Federated, na przykład Carrot2.

+0

Dzięki za odpowiedzi :) –

2

Mimo że oba serwery wyszukiwania używają Lucene (a indeksy wewnętrzne są przechowywane jako indeksy Lucene), są one bardzo różne w sposobie używania Lucene podczas przekazywania dokumentów (takich jak wersje dokumentów, strategie blokowania, dynamiczne mapowanie itp.), Które utrudniłoby korzystanie z tego samego indeksu w miejscu. Jeśli twoje dane są przechowywane w instancji SolR, możesz je wyodrębnić z SolR i wepchnąć je do ElasticSearch.

Nawiasem mówiąc rzeka daje takie same ograniczenia: „pola tylko przechowywane mogą być pobierane z Solr, dlatego indeksowane w elasticsearch”