I understand why you are asking this interesting question. If the tester enters a list of keywords, and you use the information schema view to get a list of the relevant columns, then there is a risk that there will be many false matches that could waste time or cause the tester to enter incorrect information into your system. You want to know how to determine which columns are the best match for a tester request. But you want to keep it simple, because this is just a temporary solution, this is not your main application.
The answer is to complement search results using a reputation-based system. Here is a very simple one that should work well for your application.
First, create two simple tables to store rating information for tables and columns in your database. Here is the starting structure.
TEST_SEARCH_TABLES: TABLE_ID TABLE_NAME RATING TEST_SEARCH_COLUMNS: COLUMN_ID TABLE_ID COLUMN_NAME RATING
Enter the TEST_SEARCH_TABLES name of each table in your database. Fill TEST_SEARCH_COLUMNS with the name of each column and bind it to the corresponding table. Initialize all RATING columns to 1000.0 - you will use the Elo Rating System to supplement your rating, because it is simple, easy to implement, and it works great.
When a user enters a list of keywords, do not use View Schema View. Instead, search the TEST_SEARCH_COLUMNS table for any columns containing any of these keywords. Assign each column a weight based on the number of hits. (For example, if the search is “customer, amount, income”, then the column CUSTOMER_ID will have a weight of 1. Column CUSTOMER_INCOME will have a weight of 2 and CUSTOMER_INCOME_AMOUNT will have a weight of 3.) Calculate the weight of each table is the sum of the weights of its columns.
Now for each table and column returned by your search, multiply the value of WEIGHT by RATING to determine the value of SEARCH. Give the tester a list of matching tables in descending order of search value. In each table, also indicate the columns in descending order of their search value.
Each time a column or column appears in a search, use the Elo rating system to give it WIN against an opponent with a rating of 1000.0. Each time the user selects a column for work, give both columns and his table a win against an opponent with a rating of 1500.0. Thus, the most useful and successful tables and columns will organically float at the top of the search list over time.
A side benefit of this approach (using tables instead of presenting an information scheme) is that this approach is more extensible. As an improvement, you can put the DESCRIPTION and COMMENTS columns in the TEST_SEARCH_TABLES and TEST_SEARCH_COLUMNS tables, and also search in these columns for keyword matches.
Here is another additional extension - you can place the (+) and (-) button next to each table and column and give it a win against a 2000-rated opponent if the user clicks (+) and loses with a zero rating if the user clicks (- ) This will allow your testers to vote for columns that they find important, and to vote against columns that always interfere.