Foros del Web » Programando para Internet » ASP Clásico »

Problemas con el buscador

Estas en el tema de Problemas con el buscador en el foro de ASP Clásico en Foros del Web. Este es el código de un buscador de ficheros que tengo. El caso es que hace un poco lo que le da la gana. La ...
  #1 (permalink)  
Antiguo 03/06/2009, 08:07
 
Fecha de Ingreso: junio-2009
Mensajes: 2
Antigüedad: 15 años, 10 meses
Puntos: 0
Problemas con el buscador

Este es el código de un buscador de ficheros que tengo. El caso es que hace un poco lo que le da la gana. La búsqueda no es del todo precisa y el tiempo de espera es excesivamente ridículo.

Si alguno veis cual es el motivo os agradecería que me ayudaseis ya que me esta trayendo por el camino de la amargura.


<%if request("lanzar")="true" then%>
<%
Const fsoForReading = 1
Dim strbusca_palabra
strbusca_palabra = Request("busca_palabra")
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Dim objFolder
Set objFolder = objFSO.GetFolder(Server.MapPath("/data/documentacion/clientes/contratos/Contratos A/"))
response.write objFolder & "<BR>"
Dim SubFolders
Set SubFolders = objFolder.SubFolders
Dim objFile, objTextStream, strFileContents, bolFileFound
bolFileFound = False
i = 0
For Each objFolder1 in SubFolders
i = i + 1
if i <> 1 then
Set objFolder = objFSO.GetFolder(Server.MapPath("/data/documentacion/clientes/contratos/Contratos A/" & objFolder1.name))
end if
For Each objFile in objFolder.Files
If Response.IsClientConnected then
Set objTextStream = objFSO.OpenTextFile(objFile.Path,fsoForReading)
strFileContents = objTextStream.ReadAll
on error resume next
If InStr(1,strFileContents,strbusca_palabra,1) then
if i <> 1 then
Response.Write "<LI><A HREF=" & objFolder1.name & "/" & objFile.Name & ">" & objFile.Name & "</A><BR>"
else
Response.Write "<LI><A HREF=" & objFile.Name & ">" & objFile.Name & "</A><BR>"
end if
bolFileFound = True
End If
objTextStream.Close
End If
Next
Next
if Not bolFileFound then Response.Write "No se encontraron resultados<br><a href='javascript:;history.back(-1)'>Intentar nuevamente</a>"
Set objTextStream = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
Set SubFolders = Nothing
%>
<%else%>
Formulario
<table width="100%" border="0">
<tr>
<td><form name="form1" method="post" action="">
<input name="lanzar" type="hidden" id="lanzar" value="true">
<input name="busca_palabra" type="text" id="busca_palabra">
<input type="submit" name="Submit" value="Buscar">
</form></td>
</tr>
</table>
<%end if%>


Un saludito a todos.
  #2 (permalink)  
Antiguo 03/06/2009, 08:28
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 2 meses
Puntos: 146
Respuesta: Problemas con el buscador

Cita:
El caso es que hace un poco lo que le da la gana
Pues no, hace lo que le dijiste que hiciera: buscar no recursivamente en las carpetas dentro /data/documentacion/clientes/contratos/Contratos A/ por una coincidencia en el contenido de los archivos.
Cita:
La búsqueda no es del todo precisa
.

Tan precisa como lo que le dijiste: If InStr(1,strFileContents,strbusca_palabra,1) then

Cita:
y el tiempo de espera es excesivamente ridículo
Bueno, ahí si depende del número de archivos y el tamaño de estos.

No detecto una pregunta específica. Si quieres optimizar tus búsquedas puedes intentar hacerlo con index server

http://msdn.microsoft.com/en-us/libr...ffice.11).aspx
http://www.forosdelweb.com/f15/index-server-74424/
http://support.microsoft.com/kb/825487
http://script.wareseeker.com/downloa...erver.rar/1576

etc

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:05.