You will want to register custom post types for each of the sections (books, articles, etc).
Your post types should be registered as a custom plugin so that they can be kept in the case you decide to switch your theme.
Custom post types: http://codex.wordpress.org/Post_Types
WordPress plugin API: http://codex.wordpress.org/Plugin_API
The advanced search is a bit trickier, but I wrote a commercial plugin for exactly that: http://pippinsplugins.com/advanced-search-shortcode/