Posted by: vjsamuel on: December 4, 2010
I guess it has been a while since I updated my blog probably because I ve been caught up in end of semester activities. During that time I got to work on a very interesting project as a part of my college curriculum. I wrote a “file system search engine” using C ++ and a lot of standard libraries from Boost and I named it Grabble.
There are a lot of file system search engines out there and many may wonder why would I waste my time on hacking on such an area when there are already a lot of good tools out there. I have noticed that some of the file system search engines do take a while to respond to queries. So it was kind of a “Need For Speed” venture.
In the end, I did come up with a search engine that is quite fast, may be even faster than the average engine out there but it does come with a huge constraint of memory requirement. I have given no regard to memory
. There is a HUGE inverted index inside the heart of the search engines server which is used to service the clients queries. Since an inverted index is used it only takes unit time to retrieve data from the server. The system follows a client-server tcp connection which I had implemented using boost::asio. There are alot of threads running in the system which were implemented using boost::thread. The whole software is built on Monty Taylor. Thank you Monty!!!
As far as performance is concerned, Grabble can retrieve data in under 10ms and report the absence of data in exactly 10ms. There are some bugs(a lot actually
) in the system but I would say that the system is still in its infancy and could be tweaked to attain perfection. So, if you are looking for a very high speed search engine then I guess its probably safe to say that you’d rather grabble than search for you data.
If you have any queries regarding grabble you re always welcome to PM me.
December 19, 2010 at 1:31 pm
Hey,
Can you provide location of your code repository and design documents ?
January 27, 2011 at 7:04 am
Hi,
Im sorry for such a late reply. I ve been caught up with alot fo college work off late.
The source code is available at launchpad.net. You can pull it from
lp:~vjsamuel/+junk/grabble