This source isn't just an engine, it's a fully self-contained program with its own GUI. The engines are built into the script though. Just to make sure you weren't confused that this was just an engine source.
I spent a great deal of time last night (1-1-05)re-writing the engines. The indexing engine now uses 100%CPU for some time at the end of indexing the drive. The reason for this is it has to compile the index and organize it. This was made possible thanks to LxP's UDF.
The price is small compared to the increase in speed. The new indexing engine i wrote(thx to LxP) now searches an entire hardrive for file names that contain your search string in about 10 seconds!!11
The newest version of this script can be found as an attachment at this post: http://www.autoitscript.com/forum/index.ph...ndpost&p=143654
Well anyway, i did it. I wrote a search engine that is faster than the normal explorer search companion using AutoIt.
I got the idea when the explorer search companion would take forever to search my computer for files that i needed(have 5 hard drives).
[History of why i made this program]
I had already written a program that i call Audio Backup Pro that used the indexing engine to create an index of your music directory, then you could copy music onto a mp3 player and the mp3 player would be like a backup drive. If the data on your computer got deleted, my Audio Backup program would take the mp3 files that were retrieved off the mp3 player and use the index generated in the past to place the mp3 files(which are all in one folder on the mp3 player) back into the music folder in the correct directories keeping all the organization and file trees.
[/History of why i made this program]
Well, I decided to write a program using AutoIt that would index the files on your hard drives and then you could seach through all (all meaning all, including the files in the recycler and system information folders) the files on your computer in < 5 min.
After a couple days of on and off programming and help here at the support forum, i came up with this script. I have tested and haven't found really anymore bugs. If you find some, let me know and i will fix them asap.
Please tell me what you think and feel free to give me ideas on how to optimize the engine to make it faster. I am a newb programmer and any suggestions to that will improve the engines are greatly appreciated.
Also, i may add more features to the list view, but i am not really familiar with all these user made list view functions.
How it works:
1. Start it up, select the drive to index(default is all drives) and then click the rebuild index button. The time it takes to build the index varies, but it shoudn't take more than 2 hours. During the indexing, i get 20% to 40% CPU usage from this program. This should allow you to do other things while it is indexing. You may also cancel the indexing at any time by pressing the Esc key.
2. Once the index is built, you can search for a string in a any file on the computer. Simply type in the string to find in the file and click the search button. Take note that there are two search options. The Faster search option will not allow you to control the GUI because it doesn't have a GUIGetMsg() in the search engine. It will also use 100% of your CPU. If you select the slow search option, you will be able to interact with the GUI but at the price of speed. The search speed will be significantly reduced. Your processor will also be saved.
Help File has been added. Here is what it contains:
Brian's Search Engine Help
What it does:
This program is a fully operational self-contained search engine. You use it to search for strings in file names on your computer. It basically does the same thing as the Windows Explorer Search Companion, but better. This program creates indexes of all the files on your hard drive. These indexes are then scanned when you search for files on your computer. As a result, the search is much faster than that of the Explorer Search Companion. So basically, this program searches for files on your computer, but does it much faster than what you would normally use.
How to use it:
To start using it, simply click the "Rebuild Index" button on the the GUI when you run the program. This will initiate the indexing engine. It will then create an index of all files on all drives (or that drive that you selected if you didn't leave the default "All Drives" value in the drop down box selected). This can take anywhere from 10 minutes to 2 hours depending on how many files you have and how many drives you have. The indexing doesn't kill the CPU. It will use anywhere from 20% to 40% of the CPU on today's fast computers. You may cancel the indexing process at any time by selecting the Indexing window and pressing the Escape key. This will unfortunately delete all progress that the computer has made since you started the index session.
Once the index has been created, you will want to update it routinely, maybe once a week, or once a month depending on how often you move stuff around and create new files. Once an index has been created, you may also start searching for files. You can search for a file by typing in a piece of the filename into the search input control.
You then have two search options:
You can do a fast search which uses 100% of your CPU and doesn't support GUI responses. So if you click the X while it is searching, nothing will happen. In order to cancel the search, you will have to press the escape key. Once you do this, the search is cancelled. You can then double click the text name of the search results and their containing folder will open.
You can do a slower search which uses hardly any CPU and supports GUI responses. This means that you can double click the search results while the search is still running and it will open the file's containing folder. The search window will also respond if you click the X by closing. This is much slower though.
In addition you have yet another option. You can select what drive to search if you have multiple hard drives. Simply use the combo box provided and select the drive you wish to search.
Please keep in mind that all the search results are also stored in a text file in the same directory as the .exe. The text file is called "results.txt".
Compiled using v22.214.171.124 (beta)
An attempt to use regular AutoIt will result in failure.
Special thanks to Alex Peters aka LxP of Melbourne, Australia for help with engine design. Also to SmOke_N for helping me.
Anyway, here it is:
EDIT: This is outdated. Please see:
Edited by The Kandie Man, 03 April 2006 - 05:49 AM.