Asp - comment interroger un catalogue d'indexing services

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

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.