Afinar búsqueda

Buenas. ¿Es posible hacer que se pueda afinar una búsqueda a partir de los resultador que se van generando?
Es decir, a partir de una primera búsqueda, ver los resultados que genera y poder buscar dentro de estos resultados.
El software sobre el que se implementaría es un IIS 4+Index Server y, lógicamente, unas páginas asp para toda la interfície de búsqueda.
Gracias.

2 respuestas

Respuesta
1
Siento no poder ayudarte completamente, pero no he trabajado nunca con el Index Server. Lo que si te puedo decir es que en el caso de que tu búsqueda fuera en una base de datos, esta subbusqueda seria muy sencilla de implementar. Primero de una manera sucia, esto es, guardar la primera búsqueda en una variable oculta en la página que muestres de resultados, y luego en la siguiente subbusqueda hacer un AND de la antigua con la nueva.
Otra forma que se me ocurre de hacerlo seria generando una tabla temporal de resultados de la primera consulta en la base de datos y hacer la subconsulta en esta. Lo que podrías hacer también es que el nombre temporal de dicha tabla se almacenase en una variable de sesión y que cuando la sesión finalice que automáticamente borre esa tabla de la bbdd.
Esper haberte ayudado
Aunque no utilizo ninguna base de datos (es Index server quien indiza automáticamente las palabras de todos los documentos de la web seleccionados), supongo que seria una buena solución.
Gracias.
Respuesta
1
Explicame un poco más lo que quieres hacer porque no lo tengo muy claro
El buscador realiza sus búsquedas sobre las palabras indizadas automáticamente por index server (documentos de las carpetas seleccionadas en IIS 4).
1º: se eligen los parámetros de búsqueda con un formulario típico html (GET)
2º: se buscan coincidencias dentro de las carpetas seleccionadas (AddScopeToQuery)
3º: se escriben los resultados en pantalla
4º: si hay más de 10 resultados se guardan los resultados en variables de sesión (Session("Query") y Session("RecordSet")).
Entonces, ¿cómo puedo buscar de nuevo dentro de estos resultados para afinar la búsqueda?
Entiendo que guardas un recordset.
Lo que puedes usar son la funciones de búsqueda de ADO find, seek, etc.
Otra cosa que puedes hacer es crear una tabla temporal en un repositorio de datos (access, SQL, etc) y hacer la búsqueda sobre esa tabla temporal
No se si te refieres a eso
¿No se te ocurre cómo hacerlo sin utilizar para nada una base de datos?
(Y es que no hay instalado ningún SGBD en este servidor)
Podrías utilizar un array. Creo que hay funciones de búsqueda para arrays y podrías hacer una especie de seek dentro del array.
Creo que esa seria la solución
No he trabajado con arrays con ASP aún. ¿Tienes algún ejemplo de código o enlace web dónde se explique cómo usarlos?
Yo principalmente utilizo 2 webs: evidentemente la de developers de microsoft (http://msdn.microsoft.es) y la de un grupo que me gusta mucho: 4GuysfromRolla (http://www.4guysfromrolla.com)
Creo que con estas 2 url's podrás encontrar lo que necesitas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas