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/
Related Posts:
- Included posts on a page searchable
- Search using ACF repeater
- How to create a search form with multiple search fields
- Exclude certain Gutenberg blocks from search results
- How to search pdf attachment?
- Making ACF fields appear in search results
- Search is always exact [closed]
- Empty search returns home page, how to return not found search page?
- How to look at code in WordPress repositories without downloading?
- Display search results within the same page
- Insert DIV container below 1st search result
- How to make WordPress search prioritise page titles?
- How to add the author search in the default wordpress search?
- How to search for users based on added user metadata
- Search by Post ID and display content of the post in search result
- Let user change posts per page
- Turning Broken URLs Into Search Terms?
- Change the Search Base in a multi language wordpress
- Search with filters and title
- Search uses index.php instead of search.php on renaming search field from “s”
- Changing the default WordPress search action
- Get the selected term in a dropdown search
- Separating search results collectively by type
- Set default text for the_search_query();
- Noindex, nofollow stuck on homepage
- What are the different options for excluding certain post types from search results?
- Search in post title and custom fields
- How to change users smart quotes to dumb quotes in search bar?
- Trim the search result around the search word
- Need to do blank search.
- Searching custom fields is removing search on the post_title column
- Edit search results in order to advertise
- WordPress, fetching users with an exact match in a string of comma separated values in user_meta
- search form redirects to home
- How can I hide uncategorized products from search results?
- Exclude html from search results (image names, etc.)?
- documentation for wordpress 3.7 keyword
- Using parent slug variable to display proper submenu not working properly
- WordPress Search not picking up text provided by a Plugin
- What does wordpress search, search?
- How to combine two get_users() array?
- why pre_get_posts works fine in post type archive, but not in search result list?
- How to get started?
- Search.php display results differently based on post type
- Search not working. Appending a “
- Search posts by Tag
- How to query two meta fields and display results between them
- Change Twentyeleven Search Form Text
- redirected to the login screen when I do a blank search
- Add Google custom search to wordpress.com [closed]
- Changing default wp search string
- How do I exclude a specific page (and child pages) from the search results?
- Sort WP Search results by date
- how to search everything
- changing search result from only excerpt to full content
- How to pass data to wordpress page (without GET parameter)
- Check If search query contains something?
- Show search count by post type
- Limit search field to just search a custom post type with custom fields
- How to search for post content and attached file names
- “Revision” records in wp_posts have original post type instead of “revision”
- Searching for one letter returns extra empty post
- REST API: Search products only in the names
- Bots using internal wordpress search
- Altering search results to handle a post meta field not working in current WordPress
- WordPress Search by tags
- search results to show individual ACF fields from inside custom posts
- WordPress search post using unicode
- Search results are showing full page instead of sample
- Create search box on Archive Custom post type
- How to pass variable to get_search_form()?
- Why the search results are wrong in search posts form?
- Search isn’t displaying all results
- How to use regular page template for search results?
- Search only blog posts on blog page
- Auto search field without buttons, shows first result from search page
- WordPress search.php pulling search results but also matching a page and pulling that information in
- Can I set up a search box that uses fields?
- How to Search Users on the Base of Latitude and Longitude in Users meta_key and meta_value
- Search.php Modification Needed
- Returning the entire line of a custom search result filter
- search does not yield access restricted results
- Customizing Home Page with Pagelines Platform
- Search Limited to Categories Not Working
- Google Search and Own Website Search?
- How we filter the search base on post-meta tags
- Make search result returned only from tags! [duplicate]
- Form Data Causes “Page Not Found”
- WordPress search form and input type=”image”
- Search options/filters
- Website Search Results Not Showing Images
- How to search for articles containing two words?
- Wp eCommerce meta information search [closed]
- Why custom search engine only searches in post titles of custom posts?
- Search results truncated
- “feed” added at the end of my URLs
- Disable – Post search field – for non-admin roles in WP dashboard
- Search results heading and counter not working – Oxygen Builder
- How to quickly search posts by title in Admin interface
- Blocking spambots from Search form