Indexing - Connexion au Web Service

TODO

Les web services ont évolué en version 2.0.
La doc doit être mise à jour !

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 :

 String metadataFile

Fiche de métadonnées à indexer

String id

Identifiant associé à la fiche

String namespace

Namespace de la fiche

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.

String repository

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

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 :

 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 :

 String id

Identifiant de la fiche à supprimer.

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 :

 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 :

 String []ids

Tableau de d'identifiants à supprimer

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 :

 String id

Identifiant dont on souhaite supprimer certains formats indexés

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.

 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.

 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 :

 String id

Identifiant de la fiche.

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 :

 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 :

 String id

Identifiant de la fiche.

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 :

 String request

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

int firstDocumentId

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

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 :

 String request

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

String namespace

Format dans lequel on souhaite obtenir les résultats

int firstDocumentId

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

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 :

 String request

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

List<String> namespaces

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

int firstDocumentId

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

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 :

 String request

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

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.

int firstDocumentId

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

int lastDocumentId

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

String []attributes

Attributs dont on souhaite connaitre la valeur.

boolean ascending

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

boolean highlightTerms

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

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.

 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.

 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é.

 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