キーワードとして登録しているのは「abc」「def」の2パターンのみです。
それぞれのキーワードに対して前方一致で検索して、一致すれば関連リンクをドロップダウンリストのようなイメージで表示します。
親子関係を持った多段の関連ワード表示も組むことは可能ですが、データ作りが面倒でやっていません。
やるとしても基本は表示位置の調整くらいで済むはずです。

このサンプルではデータをスクリプト内部に持っているため、瞬時に返ってきますが、実際に運用する場合にはajaxでDB問い合わせするなどが
怒るかもしれません。そういった場合にはリクエストに行く回数が減るように検索に行く条件を調整(※)するなどを検討ください。
※既に検索してきたワードの続きになる場合はクライアント側で持っているデータしか使わないので、フィルタリングして不要分を非表示にするとか。
 削除ではなく非表示なのは、入力ミスなどだった場合に即時1文字削除などもあり得るため。その場合にも再検索に行かなくてもよくする手段です。