If you can pull it off that sounds like a cool idea! (the only POS experience I have is with Piece Of Shit systems, not Point Of Sale so I have no clue what woule be involved with that endeavor )

I was thinking about my example for the hastable and thought of possibly a better way. Rather than having one entry per keyword and all the keys in another field, have one key per entry and repeat the keyword.

Rather than:

Code:
sKeyword | csvLinks
--------------------
BSOD     | 44,789,17
turn on  | 67,23,56
Do this:

Code:
sKeyword | Links
--------------------
BSOD     | 44
BSOD     | 789
BSOD     | 17
turn on  | 67
turn on  | 23
turn on  | 56
That way when you do the SELECT FROM (problem,keyword) WHERE sKeyword = "BSOD" using the value of the Links field do an inner join to the problem table. You would end up with a table with all the info you need to build the webpage rather than running an additional query to go get that info. Follow?

This would also make the keyword table easier to maintain (add/delete entries when the words in the problem/solution table change). You could add/delete a whole record instead of editing the values in a field. Who knows, if you go the "rebuild keyword table nightly" route, you might just drop the old keyword table and replace it with a new one. That might be easier then adding/deleting individual records.