Indexing - Connexion au Web Service

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Connexion au Web Service


Voici la méthode permettant de se connecter au module d'indexation :


 
Il ne reste plus qu'à ajouter dans le code l'appel à cette méthode en donnant comme URL celle du Web Service de l'indexeur : OriOaiIndexingServiceInterface service = getService(url);

Ori-Oai-Indexing intègre la librairie ori-oai-commons.jar. Elle est indispensable pour se connecter au Web Service.

Méthodes publiques du web service


IndexOrUpdate


Indexation d'une fiche s'il s'agit de la première indexation de celle-ci ou mise à jour si elle est déjà présente. Elle est utilise pour ORI-OAI-Workflow car ce module ne gère pas la présence ou non d'une fiche dans l'index. L'index sera toujours optimisé lors de l'utilisation de cette méthode.

Les paramètres de cette méthode sont les suivants :

Unknown macro: {span}

String metadataFile

Fiche de métadonnées à indexer

Unknown macro: {span}

String id

Identifiant associé à la fiche

Unknown macro: {span}

String namespace

Namespace de la fiche

Unknown macro: {span}

String datestamp

Date au format YYYY MM DD. Le caractère de séparation sera supprimé au moment de l'indexation et la date sera de la forme : YYYYMMDD. Il n'est pas possible d'indexer une objet de type date.

Unknown macro: {span}

String repository

Repository dans lequel se trouve la fiche. Si c'est une fiche locale, la valeur de ce paramètre sera "null".

Unknown macro: {span}

boolean doOptimize

Booléen à true lorsque l'index doit être optimisé. L'optimisation est une phase relativement longue (selon la taille de l'index).

Cette méthode renvoie un entier indiquant le bon fonctionnement de l'opération.

Les différentes valeurs renvoyées sont : 

  • -1 en cas d'erreur. La fiche n'a pas pu être indexée ou mise à jour.
  • 0 en cas de mise à jour d'un format. La réindexation de ce format avec les autres formats s'il y en a s'est bien déroulée.
  • 1 en cas d'indexation réussie d'une nouvelle entrée de l'index.
  • 2 en cas d'indexation réussie d'un nouveau format.

IndexOrUpdate


Cette méthode est la même que la précédente mais ne contient pas de booléen d'optimisation de l'index. L'optimisation se fera alors à chaque appel de cette méthode.

Index


Depuis la version 1.5 cette méthode est dépréciée. En effet le module d'indexation est dorénavant capable de savoir si une fiche est indexée pour la première fois ou s'il s'agit d'une mise à jour. Il est préférable d'utiliser la méthode indexOrUpdate contenant le booléen d'optimisation notamment dans le cadre d'une moisson et de demander l'optimisation à la dernière fiche moissonnée.

Update


Depuis la version 1.5 cette méthode est dépréciée. En effet le module d'indexation est dorénavant capable de savoir si une fiche est indexée pour la première fois ou s'il s'agit d'une mise à jour. Il est préférable d'utiliser la méthode indexOrUpdate à la place de celle-ci.

DeleteNotice


Suppression d'une fiche dans l'index.

Les paramètres sont :

Unknown macro: {span}

String id

Identifiant de la fiche à supprimer.

Cette méthode permet de supprimer tous les formats indexés pour un identifiant donné. Elle renvoie un entier indiquant le bon fonctionnement de la suppression.

DeleteNotice


Suppression d'une fiche dans l'index.

Les paramètres sont :

Unknown macro: {span}

String id

Identifiant de la fiche à supprimer.

Unknown macro: {span}

String namespace

Namespace du format a supprimer.

Cette méthode renvoie un entier indiquant le bon fonctionnement de la suppression.

DeleteNotices


Suppression de plusieurs fiches de l'index. Pour chaque fiche à suprimer elle appelle la méthode deleteNotice Elle prend en paramètres :

Unknown macro: {span}

String []ids

Tableau contenant les identifiants à supprimer

Cette méthode renvoie un tableau d'entiers donnant le résultat de chaque suppression.

DeleteNotices

Cette méthode est dépréciée depuis la version 1.6 du module. Il est préférable d'utiliser la méthode deleteNotices(String identifier, String[] namespaces) en remplacement de celle-ci.


Suppression de plusieurs fiches de l'index. Pour chaque fiche à suprimer elle appelle la méthode deleteNotice Elle prend en paramètres :

Unknown macro: {span}

String []ids

Tableau de d'identifiants à supprimer

Unknown macro: {span}

String []namespaces

Namespaces associés aux identifiants.

Cette méthode renvoie un tableau d'entiers donnant le résultat de chaque suppression.

DeleteNotices


Suppression de plusieurs fiches de l'index. Pour chaque fiche à suprimer elle appelle la méthode deleteNotice Elle prend en paramètres :

Unknown macro: {span}

String id

Identifiant dont on souhaite supprimer certains formats indexés

Unknown macro: {span}

String []namespaces

Namespaces des formats à supprimer

Cette méthode renvoie un tableau d'entiers donnant le résultat de chaque suppression.

SearchForNumberOfResults


Nombre de résultats pour une requête donnée.

Unknown macro: {span}

String request

Requete dont on cherche a connaitre le nombre de résultats

Cette méthode renvoie un entier long correspondant au nombre de résultats d'une requête.

SearchForSomeNumberOfResults


Nombre de résultats pour un tablau composé de plusieurs requêtes.

Unknown macro: {span}

String request[]

Tableau de requêtes dont on cherche a connaitre le nombre de résultats

Cette méthode renvoie un tableau d'entiers long correspondant au nombre de résultats de chaque requête.

SearchXMLDoc


Récupère une fiche XML locale ou moissonnée.

Elle prend comme paramètres :

Unknown macro: {span}

String id

Identifiant de la fiche.

Unknown macro: {span}

String namespace

Format de la fiche

Cette méthode renvoie une chaîne de caractères correspondant à la fiche XML.

SearchXMLDoc


Récupère une fiche XML locale ou moissonnée.

Elle prend comme paramètres :

Unknown macro: {span}

String id

Identifiant de la fiche.

Cette méthode renvoie une table de hachage contenant pour chaque format indexé la fiche correspondante.

SearchXMLDoc


Récupère une fiche XML locale ou moissonnée.

Elle prend comme paramètres :

Unknown macro: {span}

String id

Identifiant de la fiche.

Unknown macro: {span}

List<String> namespaces

Liste des formats de fiches à récupérer.

Cette méthode renvoie une table de hachage contenant pour chaque format indexé demandé la fiche correspondante.

SearchXMLDocs


Récupère plusieurs fiches XML.

Les paramèrtes sont :

Unknown macro: {span}

String request

Requête dont on souhaite obtenir les fiches correspondant aux résultats.

Unknown macro: {span}

int firstDocumentId

Numéro du premier document dans la liste des résultats à renvoyer.

Unknown macro: {span}

int lastDocumentId

Numéro du dernier document dans la liste des résultats à renvoyer.

Cette méthode renvoie un objet de type SearchResults. Cette classe est présentée dans la section suivante.

SearchXMLDocs


Récupère plusieurs fiches XML.

Les paramètres sont :

Unknown macro: {span}

String request

Requête dont on souhaite obtenir les fiches correspondant aux résultats.

Unknown macro: {span}

String namespace

Format dans lequel on souhaite obtenir les résultats

Unknown macro: {span}

int firstDocumentId

Numéro du premier document dans la liste des résultats à renvoyer.

Unknown macro: {span}

int lastDocumentId

Numéro du dernier document dans la liste des résultats à renvoyer.

Cette méthode renvoie un objet de type SearchResults. Cette classe est présentée dans la section suivante.

SearchXMLDocs


Récupère plusieurs fiches XML.

Les paramèrtes sont :

Unknown macro: {span}

String request

Requête dont on souhaite obtenir les fiches correspondant aux résultats.

Unknown macro: {span}

List<String> namespaces

Liste des formats dans lesquels on souhaite obtenir des résultats.

Unknown macro: {span}

int firstDocumentId

Numéro du premier document dans la liste des résultats à renvoyer.

Unknown macro: {span}

int lastDocumentId

Numéro du dernier document dans la liste des résultats à renvoyer.

Cette méthode renvoie un objet de type SearchResults. Cette classe est présentée dans la section suivante.

SearchFromAttributes


Recherche par attributs. Ici on ne récupère pas de fiches mais certains attributs (ex : titre, auteur..) de cette dernière.

Les paramètres de cette méthode sont :

Unknown macro: {span}

String request

Requête dont on souhaite connaitre les résultats.

Unknown macro: {span}

String sortAttributes[]

Attributs de tri de la liste de résultats. Si cette valleur est "null" alors les résultats seront triés par leur identifiant.

Unknown macro: {span}

int firstDocumentId

Numéro du premier document dont on souhaite connaitre les valeurs des attributs.

Unknown macro: {span}

int lastDocumentId

Numéro du dernier document dont on souhaite connaitre les valeurs des attributs.

Unknown macro: {span}

String []attributes

Attributs dont on souhaite connaitre la valeur.

Unknown macro: {span}

boolean ascending

Booléen à true si les résultats doivent être rangés dans l'ordre croissant.

Unknown macro: {span}

boolean highlightTerms

Booléen qui indique si on doit tenter de surligner la valeur des attributs.

Unknown macro: {span}

List<String> parametersNotToHighlight

Liste des attributs à ne pas surligner.

Cette méthode renvoie un objet de type SearchResults. Cette classe est présentée dans la section suivante.

En donnant "-1" comme valeur à firstDocumentId et lastDocumentId, tous les résultats sont alors retournés. Dans ce cas le temps de réponse peut être plus long si le nombre de résultats est important.

uniqueValues


Recherche de valeurs uniques de l'index. Elle est utilisée pour le recherche par auteur notamment.

Unknown macro: {span}

String xpath

Xpath ou nom de métadonnée dont on souhaite connaitre toutes les valeurs uniques.

Cette méthode renvoie un tableau de chaînes de caractères correspondant à toutes les valeurs uniques.

clearCache


Méthode qui vide les cache sans avoir à redémarrer Tomcat. Elle est utilisée en cas de tests de recherche.

Unknown macro: {span}

String name

Nom du cache à vider. S'il vaut null alors tous les caches sont vidés.

getDeadlinkNoticesIds


Méthode qui donne tous les identifiants de fiches dont le lien est brisé.

Cette méthode renvoie un tableau de chaînes de caractères correspondant à tous les identifiants.

getDeadlinkNoticesIds


Méthode qui donne tous les identifiants de fiches dont le lien est brisé à partir d'un entrepôt donné.

Unknown macro: {span}

String repository

Entrepôt dont on souhaite connaitre les identifiants de fiches ayant un lien brisé.

Cette méthode renvoie un tableau de chaînes de caractères correspondant à tous les identifiants.

La classe SearchResults


Elle est utilisée lors de la recherche par attributs ou par la recherche de fiches XML. Elle contient un *entier
long *correspondant au nombre de résultats d'une requête ainsi qu'une *liste d'objets de type
SearchResult*. Pour les obtenir il faut respectivement utiliser les méthodes getNumberOfResults() et getResults().

La classe SearchResult contient plusieurs chaînes de caractères : id, namespace, repository, datestamp que l'on récupère grâce à des méthodes get. Elle contient également une chaîne correspondant à la fiche et que l'on obtient grâce à la méthode getNoticeContent(). Elle est utilisée dans le cadre de la recherche de fiches XML. En ce qui concerne la recherche par attributs il faut utiliser  getAttributesValues() qui renvoie une liste de liste de String. En effet chaque attribut peut avoir plusieurs valeurs (ex : plusieurs auteurs), et plusieurs attributs peuvent être demandés (ex : titre, auteur, description...). Donc l'élément renvoyé est bien une liste de liste de chaînes de caractères.

  • No labels