First of all I must emphasis that this is my first attempt to make a program so it will take me an excruciatingly long time to finish this.

I am building a semi-complicated program and the focus of it will be on the search engine. The current plan is for it to search an online database after keywords and receive a list of responses organized by relevance.

I want to minimize the stress on the server by handling as much of the process on the client side as possible so I wonder how best to split up the tasks and also for suggestions on existing code that could help me.

So far my idea is to have the client send the search term to the server who then compare it with its registry. Collecting the 30 or so most relevant hits it sends it back along with additional information from each entry. Requesting additional hits will be decided by sending a simple int value telling which page its filling up.

Simple example:
"Search word" gets processed by the client to account for spelling errors, context etc (based on what I can implement by myself). An Int value gets added (0 for page 1, 1 for page 2 etc...). The request gets sent to the server who can immediately run the search without processing the search word since that was handled in the client. It locates hits and order them by relevance then send out the information batch decided by the Int.

I feel that I have done this as simple as I could have done but its extremely important that I get this right the first time so stop me now if I am doing something wrong.