Zum Inhalt springen

Kommunikation Website Suche -> MS Index Server


T.Jansen

Empfohlene Beiträge

Hallo,

Da sich meine asp kentnisse gen 0 richten das Projekt doch ziemlich wichtig ist frage ich nun hier.

Erstmal der Link zum Tut:

Index-Server: Volltextsuche auf der Website (Gastbeitrag tecCHANNEL)

Was ich bisher getan habe:

1. Index Server läuft

2. Zunächst brauchen Sie einen Such-String. Dazu erstellen Sie ein HTML-Formular, das ein Textfeld mit dem Namen SearchString enthält.

Hier fangen die Probleme an. Ab hier bin ich dann auf hilfe angewiesen.

Grün = abgearbeitet

Rot = ausstehend

Zunächst brauchen Sie einen Such-String. Dazu erstellen Sie ein HTML-Formular, das ein Textfeld mit dem Namen SearchString enthält. Dieses wird an das Such-Script geschickt, wo der SearchString dann mit dem folgenden Statement ausgelesen wird:

SearchString = Request.Form('SearchString')

Mit dem Such-String können Sie die Suche ein wenig präzisieren. Als Erstes brauchen Sie dazu aber ein Objekt, das Sie zur Kommunikation mit dem Indexdienst verwenden. Das erzeugen Sie zunächst per CreateObject():

set Q = Server.CreateObject('ixsso.Query')

Danach legen Sie fest, was und wie gesucht werden soll. Am einfachsten wäre es dabei, dem Query den Such-String zuzuweisen: In diesem Fall würde der String in allen Dateien gesucht werden. Um die Suche jedoch etwas einzuschränken, können Sie das folgende Statement verwenden. Dabei werden nur HTML- und ASP-Seiten durchsucht - und von diesen auch nur der Inhalt. Gesucht wird dabei der in SearchString eingegebene Text:

Q.Query = '#filename = *.|(html|,htm|,asp|,aspx|) & ${contents} ' &

SearchString

Als Nächstes geben Sie an, wie das Sortieren der Ergebnisse erfolgen soll. Der Indexdienst kann nach einer ganzen Reihe von Bedingungen sortieren, am einfachsten ist es aber, wenn man den Page-Rank, den der Suchdienst selbst ermittelt hat, zum Sortieren verwendet:

Q.SortBy = 'rank[d]'

Zum SeitenanfangZum Seitenanfang

Ergebnismenge festlegen

Schließlich müssen Sie spezifizieren, was alles im Suchresultat enthalten sein soll. Der Indexdienst merkt sich eine recht große Anzahl von Informationen über jede einzelne Datei. Welche das im Einzelnen sind, können Sie im Ordner 'Eigenschaften' im Bereich der Kataloge in der Computerverwaltung nachsehen. Die meisten Informationen sind selbsterklärend: So lassen sich zum Beispiel der Titel eines Dokuments, seine Größe und sein Pfad ermitteln:

Q.Columns = 'DocTitle, vpath, path, filename, size, write, characterization'

Nun müssen Sie noch festlegen, in welchem Katalog die Suche stattfinden soll. Dabei geben Sie den Namen des Katalogs an, den Sie zuvor in der Computerverwaltung für den Webserver angelegt haben.

Q.Catalog = 'meinesite.de'

Damit ist die Suche vollständig definiert. Sie können sie nun anstoßen, indem Sie vom Query-Objekt ein RecordSet erstellen lassen:

set RS = Q.CreateRecordSet('nonsequential')

Zum SeitenanfangZum Seitenanfang

Resultat ausgeben

Über dieses Recordset iterieren Sie dann. Bei jedem Schritt erhalten Sie das jeweils nächste Ergebnis aus den Suchresultaten. Je nach Konfiguration Ihres Servers ist es dabei noch notwendig, Informationen über die Pfade der gefundenen Dateien in ein Format umzuwandeln, das für das Web geeignet ist: Von Haus aus liefert der Indexdienst nur lokale Pfade zu den gefundenen Dateien.

%

Do While Not RS.EOF

%

%if VarType(RS('DocTitle')) = 1 or RS('DocTitle') = '' then%

a href='%=RS('path')%'%= Server.HTMLEncode( RS('filename') )%/a

%else%

a href='%=htpath%'%= Server.HTMLEncode(RS('DocTitle'))%/a

%end if%

%if VarType(RS('characterization')) = 8 and RS('characterization') '' then%

%= Server.HTMLEncode(RS('characterization'))%

%end if%

%

RS.MoveNext

Loop

%

Bis hier benötige ich es datailierter.

Ich hoffe es findet sich jemand der sich damit mal eben auseinander setzt.

Der erste Step ist getan, habe mir den passenden (zumindest denk ich es) Code auf einer Website gesucht.

Entstanden ist daraus folgendes:



<form name="SearchString" action="test.asp" method="get">

Suche

<input type="text" name="user" />

<input type="submit" value="Submit" />

</form> 



nächster Schritt ist folgender.
Dieses wird an das Such-Script geschickt, wo der SearchString dann mit dem folgenden Statement ausgelesen wird: SearchString = Request.Form('SearchString')
Habe

SearchString = Request.Form('SearchString')

einfach mal direkt in die HTML Datei geschrieben, habe aber festgestellt das es anders funktionieren muss da nur der Text im Browser ausgegeben wird.

Bearbeitet von T.Jansen
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...