Bienvenue chez Riaka Technologies !
Explorons ensemble vos données
Allons-y

Services

Vous cherchez un moteur de recherche pour explorer vos millions de documents non structurés en quelques secondes ou pour améliorer l'expérience utilisateur de vos clients ? Mtrsearch est votre solution.

Data mining

Riaka Technologies met à la disposition des entreprises son moteur de recherche « plein texte » Mtrsearch.

  • Mtrsearch permet :
  • d'explorer de grandes quantités de données d'entreprise, ou
  • de rechercher des informations sur un site commercial proposant des milliers de produits et/ou de services.

Plateforme socio-commerciale

Vous pouvez créer et gérer votre site e-commerce et/ou collaborative sur notre plateforme (en mode SAAS*) avec nos outils de ciblages contextuels précis pour une campagne de fidélisation/acquisition ainsi que nos outils de reporting et d’analyse statistique pour chaque produit et/ou service sur votre site. (*SAAS=software as a service)


Et d'autres encore...

Nous sommes là pour faire correspondre notre moteur de recherche multidimentionnel à vos besoins sur mesures en Recherche d'Information ou en Exploration de données par rapport à votre activité.

C'est quoi Mtrsearch?

Le moteur de recherche « plein texte » et « à représentation multidimensionnelle des résultats » Mtrsearch est conçu pour améliorer la pertinence, la performance et la simplicité d'utilisation aux yeux de l'utilisateur.
En se basant sur le caractère subjectif de la pertinence d'un resultat de recherche pour une question donnée, l'auteur du moteur n'a pas essayé de modéliser la notion de pertinence mais a utilisé un modèle ensembliste très simple : si le moteur retourne plusieurs résultats, ces derniers seront classés par catégorie afin d'aider l'utilisateur à mieux affiner sa recherche.

Pré processus

Mtrsearch traite tout type de document structuré ou non et dans diverses sources. Seule condition : chaque document doit être classé dans un axe tridimensionnel selon l'exploration voulue par les utilisateurs.

Par exemple, dans le cas d'une exploration des documents internes d'une entreprise, chaque document peut être classé sur un axe « Service et ou individu » qui l'a produit, un axe « Zone géographique » où se trouve le service ou l'individu qui l'a produit et enfin un axe « Temps » qui contient la date de création ou modification du document.

Durant l'indexation du corpus, d'autres métadonnées pourront être ajoutés à chaque document à part les libellés de chaque axe qui lui sont associés, afin de rendre encore plus souple la recherche d'information dans le corpus.

Caractéristiques

  • Voici les principales caractéristiques de Mtrsearch :
  • Les métadonnées (de taille illimitée) associées à chaque document durant l'indexation rendent encore plus pertinente la recherche d'information aux yeux de l'utilisateur
  • Une indexation rapide (15mn pour 4 cores à 2.67GHz dans un corpus de ~830 000 documents)
  • Une recherche d'information CONTEXTUELLE très souple : le moteur rajoute des informations additionnelles, (des catégories), pour affiner le processus de recherche d'information.
  • Une recherche très rapide (durée d'une requête : entre 15ms à 370ms (1 process) dans un corpus de ~830 000 documents). Théoriquement, 1 cœur de processeur traite une requête dans 1 Million documents en moins de ½ seconde.
  • Plus vous saisissez plus de mots/termes pour préciser votre requête, plus le temps de réponse est rapide.
  • Conçu pour être évolutif, il est capable de lire des millions de documents non structurés en quelques secondes. La durée d'une requête reste constante (moins de ½ seconde pour traiter 1 Million documents par cœur de processeurs) selon le nombre de cœurs de processeurs utilisés sur un seul serveur physique ou plusieurs nœuds de serveurs.
  • Pas besoin de maintenance pour les ranking, scoring, stopwords
  • Les supports pour la lemmatisation, le stemming, l'analyse morphologique des mots, la spécificité de chaque langue, etc. sont intégrés dans les métadonnées associées à chaque document comme une simple liste de mots clés.
  • Accepte des documents (et ses métadonnées) multilingues et le jeu de caractère UTF-8
  • Mtrsearch est écrit en GNU C sans dépendance technologique externe
  • Divers : API : RESTful, Protocole : HTTP (JSON output), Méthode de requêtes : recherche plein texte, Accès concurrents : Multi-Version Concurrency Control (MVCC), Replication : Master Master, Partitionnement : par bloc de 1 million documents, stockage sur disque, extension de la puissance de calcul sur plusieurs cœurs et plusieurs ordinateurs.

Cas d'utilisation : le Data Lake

Le moteur de recherche Mtrsearch est fait pour l'analyse de données d'un lac de données ou Data Lake.

Une très grande flexibilité pour analyser l'ensemble de données

Le seul schéma imposé aux flux entrants (documents structurés ou non) est de rajouter les métadonnées (les libellés des catégories) associées à l'axe tridimensionnel (dans lequel chaque document doit être positionné), dans le contenu brut du document à indexer. Selon le besoin de chaque analyste, il définit lui même l'axe tridimensionnel dans lequel il veut orienter son analyse du corpus.

Et le temps d'une indexation, le moteur est prêt à offrir une vision 360° du Data Lake par rapport à l'axe d'analyse.

La mise en œuvre du Data Lake

Mtrsearch nécessite :

  • un gestionnaire de cluster comme Hadoop MapReduce pour lancer en parallèle le job (un processus Mtrsearch) sur chaque cœur des processeurs des nœuds constituant le cluster
  • et un système de stockage distribué comme Hadoop Distributed File System (HDFS). Le partitionnement des données (documents) du Data Lake se fait en blocs de même nombre de documents. Le nombre est limité à 1 million documents. Chaque nœud de cluster peut stocker plusieurs blocs de documents (remarque : on parle ici de nombre de documents pour le partitionnement mais pas en terme de taille de stockage).

Le temps de latence

La durée d'indexation d'un bloc de 1 million documents étant environ 20 minutes, pour un serveur ayant 4 cœurs à 2.67GHz, il est recommandé de profiter de l'élasticité de l’infrastructure qu'offre les acteurs des plate-formes PAAS (platform as a service) pour paralléliser le traitement de l'indexation du Data Lake.

Dans la future version du moteur Mtrsearch, nous avons planifié l'intégration en temps réel des nouvelles données (documents) dans l'index du Data Lake afin de les mettre disponible immédiatement pour la recherche et l'analyse.

De même, la durée d'une requête plein texte dans un bloc de 1 million documents étant de moins de ½ seconde. Afin de garder cette durée de requête dans le Data Lake tout entier, il est recommandé d'avoir autant de cœurs de processeurs que le nombre de blocs de documents que compose le Data Lake. Par exemple, pour un Data Lake à 100 millions de documents, si chaque nœud a 4 cœurs, il suffit d'avoir un cluster à 25 nœuds pour avoir une durée de requête à moins de ½ seconde.

A propos

Simplifier les choses en observant autrement

Problème de performance

  • 2010

    Problème de performance

    Proposer une requête de sous chaines de caractères à son moteur de recherche permettrait de simplifier et de faciliter la recherche d'information aux yeux de l'utilisateur. Mais deux problèmes majeurs empechent souvent les éditeurs de moteur de recherche de la proposer : le problème de performance dans le cas de traîtement de grands volumes de données et le problème des faux positifs (des documents retournés par le moteur et qui ne sont pas pertinents aux yeux de l'utilisateur).

  • Mars 2013

    Riaka Technologies est née

    Après avoir fait le tour de l'état de l'art sur les techniques de traitement d'une requête de sous chaine de caractères, l'auteur de Mtrsearch a trouvé une solution simple aux deux problèmes soulevés plus haut et a décidé de l'implémenter.

  • Juin 2015

    La première version de Mtrsearch est enfin arrivée

    Il était temps.

  • Et
    l'aventure
    continue

Notre équipe

Mamy Tiana RAMAROSON

Auteur du Mtrsearch

Avec +10 ans d’expérience en développement de logiciels critiques et d'applications web Java/JEE, je me suis spécialisé, il y a 5 ans, dans la gouvernance des données, plus précisément dans le data mining ou l'exploration des données et la recherche d'informations dans un grand volume de données non structurées.

Mon travail est de rendre les applications à fort trafic : performantes, disponibles, évolutives et sécurisées. Je peux accompagner des projets d'applications web, (à fort trafic et avec un volume de données très conséquent) de bout en bout : de la conception (architecture) , à la mise en production et en passant par le développement.

Je sais aller dans les détails en chassant les octets et les méthodes inutiles, consommateurs de ressources mémoire et/ou cpu, comme je peux avoir aussi une perspective globale des domaines des architectures applicatives distribuées et de l'environnement Big Data.

Mtrsearch Demo

Commonçons tout de suite