WordPress has a built-in search capability for posts and pages. I assume you wish to search for some other kind of data? Is this data in the same DB as WP? Is it in its own table(s)? Or is it within default WP tables?
You could build a PHP page that queries for data that’s independent of WordPress. It wouldn’t be easily themed like the rest of WP and you couldn’t use WP functions to help you.
If you want better integration into WP, there are a few possible approaches. Perhaps the simplest is to build a custom page template that handles everything. Or at least have your search form submit to this page to display search results.
Code the template to differentiate between GET and POST requests. For GET, output the form and any generic content. This form could really be on any page as long as it POSTs to this custom template page. With a POST request, obtain the form data from $_POST and construct a SQL query based on it. Execute the query using appropriate methods of the global $wpdb object. Loop through the returned results and output them onto the page.
There are custom search plugins you might be able to use. Whether they would work with your data or not remains to be seen.