Thread: Program Design Help : Database Search engine

  1. #1
    Registered User
    Join Date
    Apr 2014
    Posts
    1

    Program Design Help : Database Search engine

    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.

  2. #2
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    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.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  3. #3
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    I advise using SQL and WCF if you are going to do remote database. Use SQL for the database and use WCF to communicate between server and client. WCF makes it all very simple. As far as your approach I do not understand what you are trying to do so I cannot offer up any comments.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. need Help to design search Program..????
    By Gaurav Singh in forum C Programming
    Replies: 2
    Last Post: 01-14-2011, 01:34 PM
  2. Question about engine design.
    By Shamino in forum Game Programming
    Replies: 9
    Last Post: 01-29-2008, 10:53 AM
  3. Search Engine C++ program
    By Jaidan in forum C++ Programming
    Replies: 2
    Last Post: 01-09-2007, 02:29 AM
  4. Search Engine - Binary Search Tree
    By Gecko2099 in forum C Programming
    Replies: 9
    Last Post: 04-17-2005, 02:56 PM
  5. Game Engine Design
    By Russell in forum Game Programming
    Replies: 2
    Last Post: 10-01-2002, 02:26 PM