Toon posts:

[ASP] Indexservice gerbuiken op webpagina *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb hier al eerder een topic over aangemaakt maar deze is gesloten omdat ik me niet aan de regels hield. Nog een keer mijn vraag alleen nu wat duidelijker.
Ik heb een Windows 2003 webserver draaien voor een Intranet.
Nu wil ik de Fileserver (ook windows 2003) gebruiken om bestanden te zoeken vanaf een locatie op het Intranet.
Ik heb op de fileserver IIS6 draaien en daar een pagina voor aangemaakt en deze gelinkt aan het Intranet.
De mappen waarin gezocht mag worden heb ik bij de indexingservice toegevoegd.
Nu heb ik dat aardig voor elkaar alleen wordt nu de locatie van de bestanden getoont zoals die staan op de fileserver ipv het UNC pad. Hierdoor kunnen de bestanden niet direct geopend worden vanaf de locatie van het Intranet. Ik mijn default.asp pagina heb ik wel vpath staan:
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<form action="default.asp" method="get">
    <input type="text" name="query" />
    <input type="submit" value="Zoeken" />
</form>
<%
Dim strQuery   ' The text of our query
Dim objQuery   ' The index server query object
Dim rstResults ' A recordset of results returned from I.S.
Dim objField   ' Field object for loop

' Retreive the query from the querystring
strQuery = Request.QueryString("query")

' If the query isn't blank them proceed
If strQuery <> "" Then
    ' Create our index server object
    Set objQuery = Server.CreateObject("IXSSO.Query")

    ' Set it's properties
    With objQuery
        .Catalog    = "Web"  ' Catalog to query
        .Query      = strQuery     ' Query text
        
        .SortBy = "rank [d]"

        .Columns = "filename, path, vpath, size, write, " _
            & "characterization, DocTitle, DocAuthor, " _
            & "DocKeywords, rank, hitcount"
    End With

    ' Get a recordset of our results back from Index Server
    Set rstResults = objQuery.CreateRecordset("nonsequential")
    
    ' Get rid of our Query object
    Set objQuery = Nothing

    ' Check for no records
    If rstResults.EOF Then
        Response.Write "Sorry. No results found."
    Else
        ' Print out # of results
        Response.Write "<p><strong>"
        Response.Write rstResults.RecordCount
        Response.Write "</strong> results found:</p>"

        ' Loop through results      
        Do While Not rstResults.EOF
            ' Loop through Fields
            ' Formatting leaves something to be desired,
            ' but it'll work for now.  We'll pretty things
            ' up and link to the content in part II.
            For Each objField in rstResults.Fields
                Response.Write "<strong>"
                Response.Write objField.Name
                Response.Write ":</strong> "
                Response.Write rstResults.Fields(objField.Name)
                Response.Write "<br />"
            Next

            ' Spacing between results
            Response.Write "<br />"

            ' Move to next result
            rstResults.MoveNext
        Loop
    End If

    ' Kill our recordset object 
    Set rstResults = Nothing
End If
%>

</body>
</html>

Als ik vanaf een pc een connectie maak naar de fileserver met computerbeheer, daar naar de indexingservice ga en dezelfde query doe krijg ik wel het UNC pad te zien.
Via webpagina zie ik dus:
d:\data\document.doc
Via computerbeheer:
\\fileserver\data\document.doc
Ik doe iets fout maar zie niet wat.
Heeft iemand een idee?

[ Voor 11% gewijzigd door gorgi_19 op 17-03-2005 10:00 ]


  • The Lord
  • Registratie: November 1999
  • Laatst online: 23:13
Tsja... Ik heb toevallig je vorige post een tijd geleden gezien. En je vraagt weer om een oplossing waarbij het probleem niet duidelijk is. Daar komt bij dat je code waarschijnlijk niet echt relevant is. En bepaalde informatie als welke catalogs je exact op welke fysieke plaats hebt gemaakt, wat dit indexeert en hoe is waarschijnlijk zeer relevant, maar noem je niet.

Ik denk dat het verstandiger is om je code te knippen, te zeggen dat je één catalog gebruikt (heb ik uit je code; het enige nuttige stuk die in je code staat op dit moment), de verdere componenten veel beter en vooral duidelijker te beschrijven én een duidelijk geformuleerde vraag met eventueel een aantal simpele voorbeelden te geven.

geeft geen inhoudelijke reacties meer


  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 19-12-2025

wizzkizz

smile...tomorrow will be worse

waarom niet gewoon in de output d:\ vervangen voor \\fileserver\ :?
hard-coded zegmaar?

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Ik heb weinig ervaring met de indexing service, maar Google bracht me het volgende:
http://www.microsoft.com/...featusability/c09iis.mspx
Lees de hele pagina aandachtig, er staan veel tips and tricks al genoemd. Ik denk dat "Adding Physical Directories to a Catalog" een voorbeeldje bevat van wat jij wil.

Verwijderd

Topicstarter
Allereerst alvast bedankt voor de reacties!

Ik vind het gewoon wel raar dat de output uit computerbeheer of via MMC anders is dan uit de webquery. De rechten van de gebruiker worden overigens goed meegenomen met het zoeken naar documenten op de fileserver. Hiermee bedoel ik dat de rechten van verschillende gebruikers gebruikt met zoeken in de index catalog. Heb je geen rechten op de share of in een map, dan laat de output ook niets zien.

De catalog staat op de fileserver welke ook DC is.
De catalog indexeert een directory die data heet.
Deze map data staat geshared en is via een mapping beschikbaar voor gebruikers.
De bedoeling is dat gerbuikers de catalog gebruiken om snel documenten te kunnen vinden op het netwerk.
Zodoende dacht ik de catalog te gaan gebruiken.

d:\ in output vervangen door \\fileserver gaat volgens mij niet.

Groeten Alex

PS Ik dacht dat ik al wel duidelijk was?

[ Voor 23% gewijzigd door Verwijderd op 17-03-2005 11:45 ]


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Als je kijkt naar figure 9-5 kijkt bij de link die ik gaf, dan zie je dat je onder alias de UNC kan aangeven. Ik neem aan dat je die alias ook kunt opvragen bij een specifieke file.

Verwijderd

Topicstarter
bigbeng schreef op donderdag 17 maart 2005 @ 11:43:
Als je kijkt naar figure 9-5 kijkt bij de link die ik gaf, dan zie je dat je onder alias de UNC kan aangeven. Ik neem aan dat je die alias ook kunt opvragen bij een specifieke file.
Die UNC alias wordt niet getoond, dat wil ik juist.
Die kan ook automatisch worden toegevoegd overigens.

Het UNC pad wordt wel getoond als ik een MMC console of computerbeheer start vanaf een client en dan connectie maak naar de file-server en dan de query draai. Maar niet via de ASP pagina

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Misschien dat je bij .columns "alias" moet toevoegen?

Verwijderd

Topicstarter
Helaas, dat gaat niet werken.
Alias is geen standaard colums in de catalog.
Ik dacht dat vpath dat was....

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Nee, vpath is de locatie binnen je website en die bestaat alleen als de folder die je indexeert binnen een webcontext valt.
Pagina: 1