I'd suggest you pick some simpler project to be your first program.

Client server interaction involves many aspects that will not be obvious to someone building their first program.

From your description, you are seeking to develop a client. If you're not developing the server, you will need a specification of how clients should interact with it, and any guidelines related to performance (what types of requests, or ordering of requests, it accepts and which are preferable). If you're developing the server as well, you need to specify those things.

For example, under what circumstances will the server collect "the 30 or so most relevant hits"? Is that a default/preferred operation of the server, or is it something your client would need to request of the server? What additional information would the server send back with each "hit", and under what circumstances would that information be sent? What response does the server send if it refuses to honour the request, or cannot for some reason? How would the client behave in such circumstances?


It may be "extremely important" that you get this right. If so, it is extremely important that you clearly specify what the client is trying to achieve, what the server is trying to achieve, what happens if something goes wrong, and things like that. Those sorts of considerations are relevant to deciding what behaviours of client and server are "right". More generally, however, you need to decide what behaviours of your program (or programs, if you're developing both client and server) is acceptable, and work up progressively to improve quality of your program.