Mi aggrego a questa discussione, anche io devo sviluppare + o meno la stessa cosa ...(un motore molto + complesso)
da quello che posso dire si tratta solo di fare le query giuste al Database (jnel caso si voglia cercare nel database)
per ricercare nelle pagine HTML anche html...post elaborazione server ..ci sono diversi script in giro che fanno ciò io ne ho usato 1 molto carino
codice:
<%
Set objQuery = Server.CreateObject("ixsso.query")
Set objUtil = Server.CreateObject("ixsso.util")
my_keyword=request("keyword")
' keyword search
myquery=myquery & "$CONTENTS " & my_keyword
' Escludo delle cartelle
myquery=myquery & " and not #path = *\inetpub\iissamples\* "
myquery=myquery & " and not #path = *\winnt\help\iishelp\* "
myquery=myquery & " and not #path = *\winnt\system32\inetsrv\iisadmin\* "
' Escludo dei file
myquery=myquery & " and not #filename indexmaster.asp"
myquery=myquery & " and not #filename index.asp"
myquery=myquery & " and not #filename indexold.asp"
' Escludo delle estensioni
myquery=myquery & " and not #filename *.|(inc|,mdb|,cnt|,class|,toc|,css|)"
objQuery.Query=myQuery
objquery.Columns = "DocTitle, vpath, filename, size, write, rank"
objQuery.SortBy = "Rank [d]"
objQuery.MaxRecords = 50
objquery.catalog="web"
'objUtil.AddScopeToQuery objQuery, "/", "deep"
objquery.LocaleID = objutil.ISOToLocaleID("EN-US")
linebr="
" & vbcrlf
Set rstemp = objQuery.CreateRecordSet("nonsequential")
if not rstemp.eof then
dim i
i=rstemp.RecordCount
if i>=50 then
Response.write "Piu' di 50 corrispondenze trovate<hr>"
else
Response.write "" & i & " Corrispondenze trovate<hr>"
end if
Do Until rstemp.eof
For Each key in rstemp.fields
keyname=lcase(key.name)
Select Case keyname
Case "vpath"
response.write "link: </br>"
response.write "<a href='"
response.write key
response.write "'>http://www.morpheusweb.it" & key & "</a>" & linebr
Case"rank"
key=key/10
key=key&"%"
response.write "rank: </br>"
response.write key
Case Else
response.write "" & keyname & ":" & linebr
response.write key & linebr
End Select
Next
response.write "
<hr>"
rstemp.movenext
Loop
rstemp.close
set rstemp=nothing
Set objQuery = nothing
Set objUtil = nothing
response.write "<a href=search.asp>Nuova Ricerca...</a>"
else
%>
Non sono stati trovati documenti
<%
end if
%>