je voudrais faire remonter un bug dans le module de recherche "1.4.1"
(je ne serai sûrement pas très clair dans mes expliquations, mais les
développeurs comprendront je pense).
J'ai remarqué un problème avec le module de recherche lors de
l'affichage d'une notice (lien "Retour à la notice" après avoir cliqué
sur le "Titre" d'un document).
Quand on clique sur une fiche pour la voir et qu'ensuite on clique sur
le lien "Retour à la notice" le module de recherche lance une requête
'(md-ori-oai-id:("oai:oriwww.unit.eu:unit-ori-wf-1-XXXX"))' qui
n'aboutit pas à tous les coups.
Si la notice n'est pas dans le cache du moteur d'indexation elle va l'y
ajouter (si la recherche c'est bien passée) ; mais j'ai l'impression
qu'une notice n'est mise en cache complètement qu'avec un id de type
"
@unit-ori-wf-1-XXXX" (suite à une transformation
interne de la requête). Il semble n'y avoir qu'un cache partiel de la
fiche au format "oai:oriwww.unit.eu:unit-ori-wf-1-XXXX".
Quand on fait une demande d'affichage de la notice le requête n'est pas
transformée avec des "@" du coup lors de l'accès à une notice en cache
si la requête n'est pas formée avec le séparateur "@" ça plante car il
n'arrive pas à récupérer tous les attributs dans le cache.
Récemment (depuis la 1.4.1) dans le module d'indexation
(src/org/orioai/indexing/administration/ResultSearch.java) l'id d'une
fiche moissonnée est passée de "oai:oriwww.unit.eu:unit-ori-wf-1-XXXX" à
"
@unit-ori-wf-1-XXXX".
Cela n'a pas été répercuté du côté du webservice utilisé par le module
de recherche je pense.
J'en suis donc venu à penser faire la même chose pour la partie
recherche ; ce qui donne le patch suivant (qui bien sûr marche :-P) :
Index: src/org/orioai/search/web/common/search/notice/Search.java
===================================================================
--- src/org/orioai/search/web/common/search/notice/Search.java
(révision 556)
+++ src/org/orioai/search/web/common/search/notice/Search.java (copie
de travail)
@@ -186,6 +186,10 @@
idParameter = idNotice;
}
+ if (idParameter.contains(":")) idParameter =
idParameter.replaceAll(":", "@");
+ if (idParameter.contains("'")) idParameter =
idParameter.replaceAll("'", "quote");
+ if (idParameter.contains(" ")) idParameter =
idParameter.replaceAll(" ", "spaceChar");
+
//System.out.println("\nidUtfParameter
commons.Search="+idUtfParameter);
//System.out.println("idParameter
commons.Search="+idParameter);
@@ -389,4 +393,4 @@
}*/
-}
\ Pas de fin de ligne à la fin du fichier
+}
Peut-être que la solution la plus propre serait de le faire du côté du
module d'indexation.
À+
--
Ce message a été vérifié par MailScanner
pour des virus ou des polluriels et rien de
suspect n'a été trouvé.