2013-05-01 4 views
1

J'ai une webapp avec plusieurs objets avec plusieurs String s Je voudrais faire une recherche. Je voudrais trier les «matchs» par le meilleur «match». Exemple: rechercher 'stackoverflow est génial'.'Moteur de recherche' sur la base de données locale

  • "Stackoverflow est un excellent site Web".
  • "Ce site a une grande communauté".
  • "Stackoverflow".
  • "Ce site est bon". // Ici vous pouvez même considérer que 'est' comme n'étant pas un match

Puisque je pense que cela réinvente la roue, je suis à la recherche d'une bibliothèque configurable mais pas monstre. Puisque je ne sais pas comment cela serait positionné dans l'application (en utilisant JPA ou juste une classe normale), je pense qu'il vaut la peine de mentionner que j'utilise JSF et JPA.

Connaissez-vous une bibliothèque pour cela, configurable à quels champs pour rechercher et cetera?

Répondre

1

Personnellement, je n'ai jamais utilisé une API pour cela avant, mais je recommande lucene. Mes amis l'ont utilisé et ils n'ont eu aucun problème avec cela.

Il a les meilleures fonctions de résultat et tout, multi-plateforme et est open source. J'espère que c'est ce dont vous avez besoin.

+0

J'essaierai ceci, acceptera s'il semble utilisable. Juste curieux, comment géreriez-vous un tel cas? – Aquillo

+0

Je voudrais au moins essayer et utiliser un testDB (peut-être même JPA/JSF inclus) pour mettre en place un petit environnement de test. Comme je l'ai déjà dit, je ne m'en suis pas servi moi-même. Seulement vu en action. Mais je pense qu'il y a aussi des exemples pour vous aider. – Skillcoil

+0

J'ai un environnement de test, pas de problème. Bien que ma question concerne la logique. Souhaitez-vous diviser une chaîne de mots de recherche et rechercher tout pour 'LIKE IN ARRAY()' avec 'SQL'? Parce que cela rendrait mon dernier exemple tout aussi valable que le premier. – Aquillo

Questions connexes