Warum mit Elasticsearch oder Apache Solr zusammen mit Hibernate Search?
Habe ich gelernt und verstanden, dass Elasticsearch, Apache Solr und Hibernate Search sind auf der Basis der Apache Lucene Bibliothek. Sie bieten schnelle Volltextsuche und alle von Ihnen verwenden entweder JPA-Annotationen, Umsetzung von JPA und/oder definieren Sie eigene Anmerkungen. Sie werden meist zusätzlich zu RDBMS/NoSQL-datenspeicher. Die indizierte und durchsuchbare Daten in form von Dokumenten.
Ich bin völlig in Ordnung, dass jemand die Frage stellt, Solr vs. Hibernate Search - Welche wählen und Wann? oder sogar "Elasticsearch vs, Solr' oder 'Elasticsearch vs Hibernate Search'
Aber dann gibt es diese Hibernate Search/Elasticsearch-Anschluss als einen Ansatz zu verwenden, Hibernate Search und Elasticsearch neben oder dieser Beitrag der Frage "Wie integrieren, Hibernate, Solr zusammen?" mit den Antwort-wie integrieren Hibernate Search und Solr zusammen, das ist für mich etwas anderes, richtig?
Vorausgesetzt die obige Zusammenfassung ist korrekt und in Anbetracht des verlinkten posts verwirrt mich: Warum tun Menschen betrachten oder verwenden Elasticsearch oder Solr neben Hibernate Search? Ist das nicht redundant? Oder funktioniert das Hibernate Suche bieten eine Schnittstelle für Solr/Elasticsearch die Hibernate ORM nicht und ist somit nur als eine Art adapter?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich noch nicht implementiert, elasticsearch, aber ich Suche es als back-end für Hibernate search.
Aber ein Problem, ich habe mit Hibernate search ist, wenn ich eine Traube von 8 JBoss-Server im eigenständigen Modus, per default haben alle einen eigenen index auf Ihrem lokalen Dateisystem. Wenn eine änderung vorgenommen wird via hibernate es nur aktualisiert den index auf, dass die einzelnen Knoten. Es wird schwierig, alle die Indizes aktuell sind.
Um dies zu beheben wurden wir in die empfohlene Vorgehensweise ausgeführt Hibernate search in einer Cluster-Konfiguration, aber das erweist sich als schwer zu bekommen, läuft einwandfrei. Mit elasticsearch wie es aussieht, können wir bewegen Sie den search server außerhalb der web-app und verwalten Sie Sie separat ohne irgendwelche unserer älteren Hibernate Search code.
Aus meiner früheren Erfahrung, zog ich aus dem Ruhezustand Suche auf elasticsearch, ohne zu halten, was um aus dem Ruhezustand zu suchen (ich meine Anmerkungen).
Ich denke, es ist so einfach zu serialisieren, eine Bohne zu JSon mit Jackson, dass Sie nicht brauchen komplexe Dinge. Einmal haben Sie die Json-Dokument, schicken Sie es einfach auf elasticsearch und Sie sind fertig.
Das sagte, hielt ich eine alte Mode, SQL Suche in der Falle, die ich brauchte, um einige Wartungsarbeiten an elasticsearch-cluster. Aber wenn Sie einbetten elasticsearch in Ihre webapp (sagen wir, Sie haben nicht so viele Daten zu verwalten), dann brauchen Sie nicht daran zu denken.
My 2 cents
Nutzen Hibernate Search ist rdbms/index Synchronisierung Fähigkeiten. Dies bedeutet, dass Ihre such-Indizes sind immer in sync mit der relationalen Datenbank/- Quelle. Während zur gleichen Zeit, können Sie immer noch wollen einige der erweiterten features von Solr oder Elastic Search (high-lighting. auto-Splitter rebalancing...
Bitte beachten Sie: die vorherigen Antworten, wo gut, aber Sie werden überholt durch die Jahre.
Hibernate Search jetzt ist die gute integration mit Elasticsearch, so können Sie die Vorteile der integration mit Hibernate wie andere vorgeschlagen, während immer noch die Vorteile von Elasticsearch als gut.
Sehen search.hibernate.org
Integration mit Apache Solr sollte ebenfalls möglich sein, aber das war noch nicht implementiert und wird das team dabei Hilfe benötigen.
Hoffentlich getan, die harte Arbeit von de Kupplung und das Elasticsearch-integration eine option, sollte es leichter machen.