Asp - comment interroger un catalogue d'indexing services

Soyez le premier à donner votre avis sur cette source.

Vue 9 900 fois - Téléchargée 384 fois

Description

Une technologie de Microsoft permet de faire de la recherche Full Text dans des documents directement, il s'agit de l'utilisation de l'Indexing Services.
Voici un script simple permettant d'interroger un catalogue déja paramétré sur le serveur.

Source / Exemple :


<%
'Creation des Objets de travail avec Indexing Service
set Q = Server.CreateObject("ixsso.Query")
set util = Server.CreateObject("ixsso.Util")

Dim SearchString, NextRecordNumber

NextRecordNumber = 0

' Déclaration de la chaine de caractères à rechercher
SearchString = "Machine"

' Réduction du champs de recherche sur le Répertoire virtuel
' IIS de l'application et tous ses sous répertoires
' Si on veut le répertoire exact, il faut mettre "Shallow" à la place de "deep"
' Il existe aussi l'option "hierarchical" mais très peu utilisée, 
' elle donne la hiérarchie des répertoires
util.AddScopeToQuery Q, "/DotNetSysInfo", "deep" 

' Déclaration du nom du Catalogue qui est interrogé
Q.CATALOG="DotNetQueDuBonheur"

Q.Query = SearchString

' On classera les résultats en fonction du Ranking obtenu
Q.SortBy = "rank[d]"

' Colonnes que l'on souhaite récupérer
Q.Columns = "DocTitle, DocAuthor, Vpath, FileName, " & _
 " Size, Write, Characterization, rank, Contents, Create, HitCount"

' Nombre maxi de résultat (on ne récupérera que les 300
' premiers Document si on en obtient plus)
Q.MaxRecords = 100

' Chargement du RecordSet avec le résultat de la recherche
set RS = Q.CreateRecordSet("nonsequential")
 
RS.PageSize = 10
ActiveQuery = TRUE

If Not RS.EOF Then
 Response.Write "Nombre de Résultat(s) : "& RS.RecordCount &"<BR><HR>"

 Do While Not RS.EOF
  ' --------- Affichage des éléments trouvés
  response.write ("Rank : " & RS("Rank")/10& "<br>")
  response.write ("Titre : " & rs("DocTitle")& "<br>")
  response.write ("Auteur : " & rs("DocAuthor")& "<br>")
  response.write ("Contents : " & rs("Contents")& "<br>")
  ' Attention: le résumé ne renvoie quelque chose que dans le cas  
  ' où l'option de création d'un résumé est activé pour ce catalogue.
  response.write ("Résumé : " & Server.htmlEncode(rs("Characterization"))&"<br>")
  response.write ("URL : http://" &Request("server_name")&RS("Vpath")&"<br>")
  response.write ("Date et Heure de Création : " & rs("Create")& "<br>")
  response.write ("Date et Heure de dernière modification : " & rs("write")& "<br>")
  response.write ("Nombre d'occurence du Mot : " & rs("HitCount")& "<br>")
  response.write ("Taille : "&rs("Size") &"<br><br>")
  Response.Write ("<a href='"& RS("Vpath") &"' Target='_blank'>")
  Response.Write ( Server.HTMLEncode( RS("FileName") ) &"</a><BR><HR>")
  RS.MoveNext
 Loop
Else
  Response.Write "Pas de résultat"
End If
     
%>

Conclusion :


Bon Coding.

Romelard Fabrice (Alias F___)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
5
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
17 mai 2007

Bonjour à tous !

En fait je voudrai faire une recherche de fichiers dans un dossier spécifique à partir d'une partie du nom de fichier entré par l'utilisateur.

C'est pour cette raison que j'aurai voulu savoir s'il était possible de retourner l'ensemble des fichiers d'un catalogue sans aucune condition avec Indexing Service et donc avoir le tous les noms de fichiers du dossier dans un Recordset pour pouvoir ensuite faire des opérations sur les noms des fichiers?? du style if Instr(chaine_de_caractere)<>0 then...

Merci pour votre aide
Messages postés
10
Date d'inscription
jeudi 27 février 2003
Statut
Membre
Dernière intervention
11 mai 2004

Bjr

Je suis d'accord avec toi, mais sais tu comment modifier les propriétés d'un fichier sans passer par l'index serveur (je suis entrain de faire une GED et pour cela j'ai fait un module d'enregistrement de document et je bloque pour l'instant sur la mise à jour des propriétés du fichier (upload OK, envoi mail OK, mais les propriétés il faut que je les fasses à la main).

JE mettrais les sources en lignes quand ce sera finie.

Merci de ton aide
Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
5
A mon avis tout ce qui est de l'information tirée de Index Server est en lecture seule car associée directement au fichier indexé.
Pour modifier une quelconque information, il faudrait logiquement modifier le fichier en question.

F___
Messages postés
10
Date d'inscription
jeudi 27 février 2003
Statut
Membre
Dernière intervention
11 mai 2004

Est ce que quelqu un sait comment modifier les propriétés d'un fichier telque le titre en ASP ??

Merci pour votre aide
Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
5
OK no pb, je ne sais pas si tu trouveras la solution, mais je te le souhaite.

Bonne chance.

F___
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.