I wish to produce a system that stores books (plus some other documents). Customers will have the ability to log in to the system where they are able to either see a listing of books or enter some search string and obtain a listing from the books that contains the search string. My issue is which i don´t understand how I ought to start storing my books. The books obv need to be searchable and also the search must return the books ID, Title, and more suitable page. Anything a lot more like the written text all around the search phrase will be a nice extra.

Some details that can help you assist me to obtain the best answer.

  • The database doesn't have to become free. If SQL Server or perhaps an Oracle DB can help me than I´m all for your.
  • The books is going to be about ~100 (2-600 pages)
  • The documents is going to be about ~1000 (10-50 pages)
  • Adding books and documents is a slow procedure that may happen rarely so any kind of re-indexing of tables need not be fast.
  • I haven't made the decision how you can search the documents. I actually do need my search engine results to become rated according to relevance in some way. This may be a supply of another question later on

Don't use a RDBMS database. RDBMS are great for storing relational data. Data you are attempting to keep are some documents. Make use of a document store like couchDB or mongoDB. However, you since need to search this data, it is best to index this data in lucene that is designed for such needs

Provided you do not plan to search the whole text from the book (possibly consider initial processing to keep a serialized hash of unique words?):

SQL Server 2008R2 includes a new FILESTREAM system that will enforce relational integrity while using DB engine and can keep up with the files within the file system. It is the "better of both mobile phone industry's" and also you will not need to bother about how DB backup plans affects your BLOBs