La búsqueda de Windows no indexa el contenido de archivos de texto con la extensión .SQL

10

Tengo problemas para que Windows Search indexe el contenido de un archivo de texto que tiene una .sqlextensión. ¿Hay algo que estoy haciendo mal?

Antecedentes:

Utilizo un programa en el trabajo llamado Navicat que me ayuda a trabajar con nuestra base de datos MySQL. Cuando uso Navicat para editar y guardar consultas, las almacena en .sqlarchivos que se encuentran en el directorio de Navicat en Archivos de programa.

Como Windows Search no indexa archivos dentro de Archivos de programa de manera predeterminada, lo agregué a la lista de ubicaciones indexadas, como se muestra en la imagen a continuación:

ingrese la descripción de la imagen aquí

También entré en la sección avanzada y agregué la .sqlextensión de archivo y seleccioné la Index Properties and File Contentsopción. Esto establece que la descripción del filtro sea Plain Text Filter:

ingrese la descripción de la imagen aquí

Sin embargo, cada vez que hago una búsqueda de texto que esperaría encontrar dentro de un .sqlarchivo, por ejemplo saw_order.Wo type:sql, no devuelve ningún archivo. La búsqueda es exitosa si estoy buscando parte del nombre de un archivo, pero nunca su contenido con .sqlarchivos.

Los .sqlarchivos son archivos de texto sin formato que se pueden abrir y editar fácilmente con el bloc de notas. Navicat simplemente agrega algunas funciones de inteligencia y organización, pero aparte de eso, es texto sin formato.

¿Por qué Windows Search no puede ver el contenido de estos archivos?

¿Necesito agregar algún complemento especial a la búsqueda de Windows para reconocer estos archivos?

NOTA: Estoy usando Windows Search 4.0 y Windows XP SP3.

Ben McCormack
fuente
Véase también superuser.com/questions/77772/...
RJFalconer

Respuestas:

7

Parece que hay un problema con Windows Search al leer el formato del archivo, incluso cuando está configurado en texto plano. ¡Es un problema conocido e incluso se ha mencionado aquí en Superuser !

Mi mejor recomendación por ahora es usar un programa que pueda buscar el contenido de los archivos. Puede que no sea tan rápido como indexarlos, pero con suerte puede hacer el trabajo por usted.

Cuatro excelentes herramientas que recomiendo:

Agent Ransack (freeware):

texto alternativo

NirSoft SearchMyFiles (freeware y portátil):

texto alternativo

Windows Grep :

texto alternativo

Buscador de archivos portátil (freeware):

texto alternativo

John T
fuente
Gracias por las sugerencias Realmente preferiría una solución integrada que corrija Windows Desktop Search, pero tal vez miraré algunos de los software que me recomendó.
Ben McCormack
Aunque hubiera preferido arreglar solo la búsqueda en el escritorio de Windows, realmente aprecio el tiempo que dedicó a proporcionar una respuesta detallada. Tendré que revisar algunas de esas herramientas. ¡Muchas gracias!
Ben McCormack el
¡Eres bienvenido!
John T
4

Asegúrese de tener las siguientes claves en su registro, en esta ubicación:

Computer\HKEY_CLASSES_ROOT\.sql

[HKEY_CLASSES_ROOT\.sql]
"Content Type"="text/plain"
"PerceivedType"="text"

[HKEY_CLASSES_ROOT\.sql\PersistentHandler]
@="{5E941D80-BF96-11CD-B579-08002B30BFEB}"

Luego reindexar.

John G Tesmer
fuente
2

En caso de que haya un problema con la indexación en sí, intentaría decirle a la búsqueda que mire el contenido de los archivos no indexados.

Vaya a cualquier ventana del Explorador y presione, Altluego vaya a Herramientas> Opciones de carpeta y haga clic en la pestaña Buscar, marque la opción dentro de un círculo:

ingrese la descripción de la imagen aquí

William Hilsum
fuente
No creo que estas opciones sean visibles de esta manera en Windows XP (a menos que haya sido deshabilitado en mi PC por la Política de grupo, pero lo dudo).
Ben McCormack
1

Muchos motores de búsqueda necesitan algún tipo de módulo, frecuentemente llamado "conector" para descubrir cómo interpretar un archivo.

Observo que en la captura de pantalla, el archivo SQL aparece como "Texto sin formato". Aunque el archivo es solo texto sin formato, Windows Search puede esperar que el archivo .sql sea algo más que texto y simplemente lo ignore.

Para probar la hipótesis, haga una copia del archivo, cambie la extensión a ".txt" y luego fuerce una reindexación.

Algo más que verificar, tal vez con un editor de texto más potente (mi favorito es gVim - http://www.vim.org/download.php#pc ) para ver si el "número mágico" inicial del archivo es diferente de un archivo de texto normal

pcapademic
fuente
Creo que SharePoint usa algo llamado iFilter y WDS podría usar lo mismo, aunque no estoy seguro. Probé gVim según tu recomendación. Por lo que pude ver, nada parecía diferente en los archivos .sql frente a los archivos .txt. Sin embargo, tal vez no vi algo correctamente.
Ben McCormack el
Ben McCormack, ¿probaste el experimento que te sugerí?
pcapademic
1

El artículo Error de búsqueda de Windows XP dice:

Windows XP no busca todos los archivos para mejorar el rendimiento de la búsqueda y para evitar resultados extraños. Este comportamiento se produce si utiliza o no el servicio de indexación cuando busca. Por lo tanto, Windows XP tiene un problema conocido por no encontrar varios tipos de archivos cuando realiza una búsqueda de archivos "que contienen texto" o utiliza la opción "Una palabra o frase en el archivo".

Esto puede remediarse para muchos tipos de archivos, pero no para todos. La causa es la falta de un valor PersistentHandler en el Registro para este tipo de archivo.

Método 1

Descargue este script VB (escrito por Doug Knox ). Guarde el archivo que acaba de descargar en su disco duro. Localice el archivo que acaba de guardar y haga doble clic en él. Ingrese la extensión de archivo que desea modificar. Si existe la subclave PersistentHandler, no se realizarán cambios. Si no existe para el tipo de archivo en cuestión, el Registro se actualizará en consecuencia. Reinicie cuando haya terminado con los tipos de archivo que desea cambiar.

Método 2

MS KB 309173 tiene otra solución para este error. Para configurar Windows XP para buscar todos los archivos sin importar el tipo de archivo, obtenga el último service pack para Windows XP (actualmente SP2) y luego active la opción Tipos de archivos de índice con extensiones desconocidas.

Si usa este método, Windows XP busca en todos los tipos de archivos el texto que especifique.

Esto puede afectar el rendimiento de la funcionalidad de búsqueda. Para hacer esto, vea las instrucciones en el artículo anterior .

harrymc
fuente
Agradezco su enlace al artículo, pero ninguno de los métodos parecía funcionar. Ejecuté el script VB y la clave ya existía. Cambié el valor del registro según la sugerencia en el método # 2 y luego volví a indexar mis carpetas, y todavía no funciona. Quizás a lo que se refiere es a "Windows Search" en lugar de "Windows Desktop Search", que fue desarrollado para Vista pero lanzado para XP también antes del lanzamiento de Vista.
Ben McCormack el
Creo que los enlaces que proporcioné son, en esencia, correctos, ya que PersistentHandler para la extensión .sql está mal y necesita ser reemplazado. Sin embargo, se requiere mucha más investigación para concretarlo.
harrymc
1

Solo puedo pensar en dos cosas:

  1. Los archivos aún no se han indexado (por lo que aparecen en un bit de búsqueda de nombre de archivo, no en una búsqueda de contenido)

  2. También sugiero una prueba ... intente colocar algunos archivos SQL fuera de su carpeta Archivos de programa e incluya esa carpeta en la lista de ubicaciones indexadas. ¿Quizás haya un problema de permiso en las carpetas en Archivos de programa?

Sin zapatos
fuente
Gracias por las sugerencias El archivo ha existido durante mucho tiempo, al igual que Windows Search en mi PC. Voy a reconstruir todo el índice y ver si eso ayuda.
Ben McCormack
Eso no funcionó: /. La indexación está completa y todavía no encuentra coincidencias.
Ben McCormack