Ha! I'm not sure I even know "which way" is "up" most of the time, let alone knowing "what" is "up"! I just try to help when I can.
Frankly, trying to use Joomla! in that way for that purpose is a little bit like to trying to scramble an egg in a toaster - I'm not saying you could not manage to find a way to do it after one fashion or another, but it wouldn't be "pretty" and you're not likely to be happy with the result. Joomla! provides a great framework for building websites, but it's "search" functions are not its best feature, and are definitely not suited for "searching" content not entered into the site from within the Joomla! content management scheme.
Which is indicative of "correct" operation - the Joomla! search delivers appropriate SQL queries to the Joomla! database and its tables; it will not even address data maintained in another database, or any other tables than those it knows how to query.
This is a different thing altogether, and is in no way related to Joomla!. What phpMyAdmin is telling you is that no fields in that database have been defined as being an index. As much as I hate to be the "bearer of bad news", you really do need to have a basic understanding of database operations and MySQL to make effective use of phpMyAdmin. It is actually very easy to screw up your database pretty dramatically with phpMyAdmin by clicking around the menus if you don't know what you are doing
While the "help" in phpMyAdmin is excellent as it relates to phpMyAdmin, it is not a substitute for the MySQL manual, and you really are going to need to spend at least some time reviewing this so you can at least understand the terminology when presented with messages and options. Unfortunately, there is no "shortcut" for that step. Even if you find a pre-existing script to accomplish your search needs, without a basic understanding of the database, you are likely to get into trouble pretty quickly.
For example, regarding your particular circumstance as detailed in the text I omitted from the last "quote", if your database was properly designed (and it may be!), you should not need to create a new field to create an index - you would merely need to identify/define the appropriate existing field as the index. From the information provided in the rest of your post, I suspect this would likely be the "part number" field .
This is a very typical web development problem/issue, and there are many tools to help you accomplish this (though Joomla! is not one of them). Once you have a basic understanding of how MySQL works, you will be in a much better position to evaluate those tools and pick those that will be most helpful to you. The choice of tools is directly related to the strengths and weaknesses in your own skill set.
I find that, for most, the first few chapters of almost any good MySQL book, or "a few hours" working through any of the many available tutorials or introductions available on the web (as identified via a Google search), should give you adequate knowledge to evaluate, select, and successfully use any of a number of freely available "CRUD" generation tools for integrating the functions you require into a website. Some of these are "code frameworks" that you can use to assist you in writing the code needed, while others are "code generators" that you can run on your computer, or from the web, to "automagically" create the forms needed for building queries and the code for displaying output.
I don't want to sound discouraging here, but I want to give accurate advice; just as you had learn about graphic file formats and color on the web before you could use Photoshop, or other "tool", to create graphics for a website, you have to have a basic understanding of databases in general, and of the database you plan to use in particular (in this case, MySQL) to effectively use "tools" to help you integrate database functionality into a website.
Given that you indicate this project is for a customer, and depending upon your time constraints and/or interest in getting yourself "up to speed" with this technology, you might consider that the best "business decision" may be for you to sub-contract that part of the project to one who "does this stuff". As you have described your project, while complicated and confusing to you, it would be almost "trivial" to an experienced php/perl and MySQL developer, and shouldn't cost more than a few hundred dollars to have done.
On the other hand, becoming sufficiently educated in these technologies to "do it yourself" with the help of existing tools is not unreasonable, and, if your time and interest allows, doing that will greatly increase your ability to provide solutions for your clients "in house". Some web folks are "designers", some are "programmers", and some "developers" do both design work and programming. The project you describe is much more of a "programming" project than a design project; how you choose to approach it should be consistent with your skill set, your business model, and your goals.
I don't know if any of that is helpful to you; it is certainly not one of those "go here, download this, and go" kind of answers. While I have my own "tools" that I like for "CRUD" creation, etc., I can't confidently recommend any of them for your immediate use given your understanding of the process as evidenced by your post. I do not mean that comment to be unkind or critical; we all have to learn new things, and there is nothing to be ashamed of about not understanding a technology with which you have not become familiar. It is also true that neither you or your customer would be well served by my pointing you to a "tool" that would only confuse you further, and I don't want to add to your frustration (which is what would happen if you were to attempt to use such a tool to help build code that the function and purpose of which you don't understand).
Most of all, don't be discouraged - there are solutions to your problem. Whether you need to hire this one out, or whether you "dive right in" and learn enough about MySQL and php/perl to do it yourself, your goal is attainable