Question

Dans une application utilisant Wicket + Spring + pile JPA / Hibernate, j'ai une boîte de réception / recherche Page qui devrait avoir des capacités de recherche assez complexes, où les documents enregistrés dans une base de données sont filtrées à l'aide d'une myriade d'options de filtrage. Jusqu'à présent, je l'ai utilisé API Critères JPA pour construire la requête de base de données, mais il devient tout à fait désordre. Je me demandais si Hibernate Search serait un bon moyen pour cela, même si je ne suis pas vraiment besoin des capacités de recherche en texte intégral, je me sens (de ce que je lis à ce sujet) que la production de la requête pourrait être un peu plus facile?

Était-ce utile?

La solution

Désolé, mais Hibernate Search est basé sur Lucence. Il est pas juste une autre langue de la requête.

Lucene ne Serach pas pour les entités dans votre base de données, la recherche de attibutes dans l'index Lucene. Hibernate Search ajouter la fonctionnalité pour connecter les entités de votre base de données à l'index Lucene.

Hibernate Search et Lucene sont créer outil lorsque vous avez besoin de recherche de texte intégral avancé. Mais si vous n'avez pas besoin, il est seulement beaucoup de travail unnesseary (et problèmes).

Alors, tant que vous n'utilisez pas Lucene, Hibernate Search ne correspond pas à vos besoins.

Autres conseils

Le cas d'utilisation principale pour Hibernate Search est la recherche plein texte. Cependant, il peut également être utilisé pour indexer / recherche simples attributs / critères. Que ce soit la syntaxe pour écrire les requêtes est plus simple qu'une requête de critères est une question de goût. Si vous n'utilisez pas les capacités de recherche en texte intégral, vous devez considérer que vous ajoutez une étape supplémentaire dans votre application. La requête de recherche sera exécutée sur l'indice Lucene qui retournera ids entité (sauf si la projection est utilisée). Les entités correspondantes seront alors extraites de la base de données. D'autre part, une fois que vous utilisez Hibernate Search il est facile à « améliorer » votre recherche en ajoutant des capacités de recherche en texte intégral à certains de vos critères (si possible).

Si oui ou non vous utilisez Recherche, je pense que la clé est d'écrire une sorte de cadre qui construit vos requêtes par programmation -. Requêtes de recherche ou critères

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top