MultiSearch: Searching Multiple Search Engines

Looking at some of the websites which allows you to search multiple websites, I realized there are three basic problems with them:

  • Scalability

    This is a problem because most of them are server side scripts. There is no way any of these sites can match up the capability of computing power that Google/Yahoo/A9/Microsoft has. Essentially, if the concept of searching multiple sites pick up, there is no way the serving power of these servers could pick up. On top of that, what is the point of getting your search result delivered through a third party. Essentially, you are ALWAYS increasing your distance (in terms of traffic path) from any of the search servers that you are using. With increased usage, the problem is going to get worse.

  • Privacy

    Since your search queries are going through this third party server, he is going to know the following things:

    The other thing is, since you do not send the cookie specific to Google/Yahoo/someone else to these guys, you are not going to get a personalized result (i.e. SafeSearch on/off) in your search.

  • Extendability

    Since you don't know what goes on on the server side, there is no way you can add a new search engine of your liking that is not supported. This is probably okay if it supports the major ones, but may not be okay if you want to add your own special ones (like binary newsgroup search).

    All these problems can be solved if we have a client side script which can pick up the search items, and sends the requests directly to the search engines, and then display the results, without actually never contacting the actual multi-search server. Moreover, since the script is visible to you, with a little knowledge of that specific scripting language (JavaScript in this case), you can extend it to add your own search engines. You can even just download the script and open it locally, without having the need of connecting to the multi-search server EVER (until a new set of scripts are released and you need them). Extendability can also be achieved if the code is written in a moduler fashion. For example, here, you can add a new search engine by exporting a couple of trivial functions for that engine only. This will make life a lot smoother, and people can actually contribute in adding new search engines, without being at the mercy of the script writer.