Frage

In einer App mit Wicket + Spring + JPA / Hibernate-Stack, ich habe eine Inbox / Suchseite, die sehr komplex Suchfunktionen haben sollte, wo in einer Datenbank gespeichert Datensätze gefiltert wird unter Verwendung eine Vielzahl von Optionen zu filtern. Bisher habe ich JPA Criteria API verwendet, um die Datenbankabfrage zu bauen, aber es wird immer ziemlich chaotisch. Ich frage mich, ob Hibernate-Suche auch eine gute Passform für diese wäre, wenn ich nicht wirklich keine Volltextsuche-Fähigkeiten benötigen, ich fühle mich einfach (von dem, was ich darüber gelesen), dass die Abfrage produzieren könnte ein bisschen einfacher sein?

War es hilfreich?

Lösung

Sorry, aber Hibernate Search basiert auf Lucence. Es ist nicht nur eine andere Abfragesprache.

Lucene serach nicht für Entitäten in der Datenbank, ist es für attibutes im Lucene-Index suchen. Hibernate Search fügen Sie die Funktionalität der Entitäten aus der Datenbank zu dem Lucene Index zu verbinden.

Hibernate Search und Lucene sind Tool erstellen, wenn Sie erweiterte Volltextsuche benötigen. Aber wenn Sie es nicht brauchen, es ist nur eine Menge unnesseary Arbeit (und Probleme).

Also, solange Sie Lucene nicht verwenden, Hibernate Search paßt nicht Ihre Bedürfnisse.

Andere Tipps

Der primäre Anwendungsfall für Hibernate Search ist die Volltextsuche. Es kann aber auch zu Index verwendet werden / search einfache Attribute / Kriterien. Ob die Syntax für die Abfragen zu schreiben ist einfacher als eine Kriterien-Abfrage ist eine Frage des Geschmacks. Wenn Sie nicht die Volltext-Suchfunktionen verwenden müssen Sie bedenken, dass Sie einen zusätzlichen Schritt in Ihrer Anwendung hinzufügen. Die Suchanfrage wird gegen den Lucene-Index ausgeführt werden, die Objekt-IDs angezeigt werden können (es sei denn, Projektion verwendet wird). Die passenden Elemente werden dann aus der Datenbank abgerufen werden. Auf der anderen Seite, wenn Sie verwenden Hibernate Search es einfach zu „verbessern“, ist Ihre Suche einige Volltext-Suchfunktionen, um einige Ihrer Kriterien durch Zugabe von (wenn möglich).

Ob Sie suchen verwenden, ich glaube, der Schlüssel ist, eine Art von Rahmen zu schreiben, die Ihre Fragen programmatisch erstellt -. Suche oder Kriterien Abfragen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top