# OpenSearchServer

OpenSearchServer (OSS) est un serveur d'applications en open source permettant le développement d’applications reposant sur des index comme les moteurs de recherche. Disponible depuis avril 2009 en téléchargement sur SourceForge.net, OpenSearchServer, disponible sous licence GNU GPL v3, propose une série d'analyseurs syntaxiques et peut être installé sur différents systèmes (Windows, Linux, Macintosh).
Après avoir débuté comme un projet interne au sein du groupe de presse B2B Infopro, OpenSearchServer est maintenant supporté par Jaeksoft SARL, société créée en février 2010 et fournissant les services et la coordination des développements pour la communauté de développeurs d'OpenSearchServer.
Les principales fonctionnalités d'OpenSearchServer sont : un crawler pour base de données, pages web et documents riches ; une interface conviviale Zkoss permettant le développement de la plupart des applications en quelques clics ; extraits de textes ; facettes ; un outil de restitution html pour intégrer les résultats de la recherche dans une page et des fonctions de monitoring et d'administration.
OpenSearchServer est écrit en Java et peut être intégré dans la plupart des applications sans nécessiter l'écriture de code Java. Les APIs REST/XML APIs permettent de connecter OpenSearchServer à d'autres langages de programmation. La fonctionnalités avancées des plugins permet la personnalisation d'applications sophistiquées.
OpenSearchServer est considéré comme une solution stable par la communauté des développeurs. La version 1.1, lancée en avril 2009, atteint le top 15 de Sourceforge et attire l'attention de la presse spécialisée$^,$$^,$ et de nouveaux utilisateurs.

## Historique

Le projet OpenSearchServer fut lancé au sein du groupe Infopro, un groupe media B2B constitué d'une quinzaine de filiales avec des activités online et offline de presse et d'informations.
Ne trouvant pas de solution de recherche proposant à la fois une palette de fonctionnalités, un usage simple et un niveau de prix acceptable il a été décidé de créer une solution Open Source en interne. Les trois objectifs de ce projet étaient : Ensemble fonctionnel large permettant d'adresser les besoins de toutes les filiales; prise en main du logiciel facile par les équipes de développement et présence de tous les modules nécessaires à la création des applications (Crawler, Indexeur et interpreteur de requêtes).
Le directeur du projet était Emmanuel Keller, directeur informatique, à la tête d'une équipe de 15 informaticiens dont 3 furent dédiés au projet. En 2008, la première application fut mise en exploitation et une dizaine d'autres suivit.
En décembre 2009, Emmanuel donna sa démission de son poste, acquit les droits de la solution et créa Jaeksoft pour développer une offre de services autour d'OpenSearchServer. Quelques semaines plus tard Raphael Perez le rejoint et ils commencèrent ensemble à développer la base installée d'utilisateur et constituer l'offre de services.
Jaeksoft réalisa un premier tour de fonds d'amorçage en février 2011 auprès de business angels et structure spécialisée.

## Fonctionnalités

Ci dessous une liste des principales fonctionnalités qui peuvent être étendues en utilisant l'architecture des plugins :
* Recherche textuelle ou booléenne ;
* Un crawler permettant l'indexation des pages web, des documents riches situés sur les systèmes de fichiers locaux ou distants et le contenu de toute base de données JDBC comme Oracle, MySQL, Microsoft SQL Server ;
* Analyseurs « full text » et filtres permettant l'indexation et la recherche pour 16 langues ;
* La bibliothèque Lucene qui crée, met à jour et renvoie les réponses aux requêtes utilisant les algorithmes les plus efficients produisant les meilleures performances et temps de réponses ;
* Outil de restitution HTML permettant l'intégration de la boite de recherche dans une page HTML compatible avec PHP et .Net, et une API XML over HTTP ;
* Des parsers permettant d'analyser et d'extraire le contenu et les metadatas de la plupart des formats de documents comme MSOffice, OpenOffice, HTML, XML, PDF, RTF, TXT, MP3, MP4, WAV, torrents ;
* Une série de caches pour accélérer les processus et permettre des temps d'exécution rapides ;
* Back office : Outil de monitoring distants, d'administration, services d'alertes, planificateur intégré, gestion des utilisateurs ;
* Documentation online à accès libre ;
* Fonctions avancées : navigation par facettes, regroupement, filtres, résumé de réponse, synonymes, stopwords, mise en évidence des termes recherchés, catégorisation, « trouver des similaires », création automatique de vignettes, augmenter/diminuer la pertinence ;
* OpenSearchServer existe comme un module Drupal et un module WordPress ;
* Interface web développé avec le framework Zkoss (ZK) framework.

## Concurrents

Sans être exhaustive la liste des concurrents d'OpenSearchServer inclut :
* Solutions propriétaires : Autonomy (Hewlett-Packard), Endeca (Oracle), Exalead (Dassault Systems), Fast ESP (Microsoft), Sinequa,…
* Solution Open Source : Solr (Apache), Sphinx, Elasticsearch, …
* Équipement matériel : Google Search Appliance.