That is an interesting project idea. Frankly speaking, creating a search engine is going to be either super-easy or super complex; depending upon what you actually intend to create.
Let's take a look at the types of search engines you could consider building -
1. Voice Based Search Engine: You will have to implement a NLP api (available from Amazon and I think Google as well); that will process voice commands and then feed the 'keywords' to your search engine.
2. Image Search Engine: This is going to be super complex; if you want to do this entirely on your own. The complicated part would be to figure out what kind of image user wants to search and then make a guess about the right kind of image that matches user's query. There are APIs available to do this; so you decide at what complexity level you wish to start.
3. Text Based Search Engine: This is what most of what Google does - and does really well. You could create a simple list of documents with various topics and find out a way to do the matching.
Just to make things more interesting - I'll recommend you to look at ElasticSearch. It's got an open source version that you can implement in your project. Btw, we do use it here at CrazyEngineers - and you can check a demo of it by search (click the search icon in the top navbar).
Elasticsearch offers plenty of features that you could use and configure to your own needs. For example, it includes automatic spelling correction and gives you results - called "Fuzzy Search".
If this is 'too much'; I'll recommend building a simple MySQL based search; but it's way too basic. One way to extend this would be to pre-configure the domain you wish to search and then do content-scrapping - that is you will have to download all of the website's content to your local machine. I'll recommend creating a local website first and populate it with all the content you can. You could easily do this with an Open Source CMS like WordPress.
I hope this gives you some direction. Let us know if you have more questions. All the best!