Search Based Applications

by Christian on 1 août, 2009

C’est une tendance forte dans le marché des moteurs de recherche d’entreprise que d’utiliser les technologies d’indexation pour autre chose que pour indexer un intranet, un site web, ou le contenu d’une solution de gestion électronique de documents.
On dira alors que le moteur de recherche n’est plus utilisé pour indexer des documents mais plutôt des données structurées qui se trouvent dans les bases de données utilisées par les applications de l’entreprise.

Il s’agit donc de construire des applications qui vont reposer non plus sur une base de données mais sur l’index d’un moteur de recherche. Les écrans de l’application se basant sur un index sont à créer from scratch, en fonction du besoin métier auquel on souhaite répondre, et il n’est pas impossible que, à l’arrivée, l’interface ne propose plus de champs de recherche avec le bouton « rechercher », si caractéristique des moteurs de recherche.

Cette approche a les mérites suivants :

  • les données utilisées par l’application sont dans l’index, ce qui permet une fonction de « mise en cache » des données qui rend l’application très rapide, vocation première des moteurs de recherche. Point besoin d’indexer plusieurs applications : le principe d’accès rapide justifiant à lui seul la démarche pour désengorger une application lourde, lente, avec des interfaces vieillissantes.
  • en intégrant des données provenant de plusieurs applications au sein d’un index, on peut éviter des projets d’intégration qui multiplient le codage et le re-codage de moulinettes et de connecteurs pour que les applications échangent des données. L’intégration se fait alors au sein de l’index du moteur de recherche.

La limite de ce modèle, car il y en a, c’est que les applications ainsi construites, se basant sur un index, sont essentiellement des applications de consultation. C’est très bien pour le READ, un peu moins pour le WRITE. Trois alternatives à ce manque :

  • on peut écrire dans l’index (un push à l’indexation). Dans la même logique on peut avoir des fonctionnalités collaboratives qui permettent de faire des commentaires ou de noter un contenu, à l’image des fonctionnalités qu’a rajouté Google sur le moteur de recherche grand public.
  • on peut avoir des liens vers l’interface web d’une application sur laquelle on veut modifier les données (mais c’est lourd à l’usage si l’action est fréquente)
  • on peut écrire dans les application sources (pour modifier des données par exemple) en réalisant des APIs AtomPub pour les applications concernées.

C’est dans cette même trajectoire que s’inscrit la tendance qui voit les solutions de search remplacer les solutions de reporting et de Business Intelligence. J’en avais déjà parlé en juin 2007 dans la note « Quand le search bouscule la BI ».
On parle ici d’une BI de bas niveau, car on peut agréger des chiffres et faire des opérations de base en s’appuyant sur l’index, mais pas de choses bien compliquées.

Dans tout les cas, ce re-positionnement des technologies d’indexation dans périmètre du système d’information apporte :

  • des projets rapides, les temps de mise en oeuvre sont fortement réduits ;
  • des coûts beaucoup plus intéressants que ceux qu’induisent la mise en place de progiciels ou de développements spécifiques autour d’une nouvelle base de données;
  • un orientation sur l’utilisateur avec des principes d’utilisation calqués sur les applications web.

Je ne citerai pas de moteurs de recherche commerciaux pour ne vexer personne. En revanche, je souligne un projet open source qui peut être utilisé pour réaliser de telles solutions, il s’agit de Solr qui s’appuie sur les librairies Java de Lucene et en étend les capacités.

Print Friendly
Signaler sur Twitter

{ 3 comments… read them below or add one }

Damien B août 3, 2009 à 4:11

Pas de description de la gestion de la sécurité dans les caractéristiques de Solr ( http://lucene.apache.org/solr/features.html ), des infos là-dessus ?

Répondre

Christian août 5, 2009 à 3:57

C’est plutôt ici pour les aspects sécurité : http://wiki.apache.org/solr/SolrSecurity

Répondre

Gregory Grefenstette janvier 24, 2011 à 11:31

On vient de publier un livre sur ce sujet: http://www.searchbasedapplications.com/

Répondre

Leave a Comment

Previous post:

Next post: