自動補完、自動修正、スペルチェックなどの機能を実装できる辞書の実装に関するインタビューの質問をしました。辞書の自動補完を実装するために使用するデータベース
私は実際に(場所の国、都市、および郵便番号のように)すべての単語を格納するために使用する必要があるデータベースを知りたかった。
私を提案してください。もしそこにあなたが話す任意のデータベースまたは溶液
この上で私を導い歓迎されている任意のリンクを達成することができる任意の最適なデータベースとJavaで任意のフレームワーク...
自動補完、自動修正、スペルチェックなどの機能を実装できる辞書の実装に関するインタビューの質問をしました。辞書の自動補完を実装するために使用するデータベース
私は実際に(場所の国、都市、および郵便番号のように)すべての単語を格納するために使用する必要があるデータベースを知りたかった。
私を提案してください。もしそこにあなたが話す任意のデータベースまたは溶液
この上で私を導い歓迎されている任意のリンクを達成することができる任意の最適なデータベースとJavaで任意のフレームワーク...
機能ここには重要なUIコンポーネントが存在するため、データ、レイヤーではなくアプリケーションで主に実装されます。どのデータベース(またはフラットファイル)でも単語のリストを保存できます。
問題が発生している領域を特定することができますか? (あなたの質問は本当にであれば、「どのようにデータベースを使用していますか?」、それはこのサイトにはあまりにも一般的であり、そしてあなたには、いくつかのグーグルを行う必要があります。初心者のためのJDBCに探して試してみてください)
自動のための最も簡単な解決策は、 Navigable Setを使用して、指定されたStringで始まるすべてのエントリを検索します。
自動修正/スペルチェックの場合、私は正しい単語を明示し、単語のように聞こえるすべての単語に対して「音のような」エンコーダとマルチマップ(リストのマップ)を使用することを提案します入力されました。
最も簡単な解決策は「トライ」を使用することです。インデックス付きの子ノードのcharacetersを表すデータ構造。 http://en.wikipedia.org/wiki/Trieこれに関する詳細情報があります。これは、キーストロークの終わりに、あなたが補足セットとオートコンプリートリストを変更しようとしているように、メモリ内で実行する必要があります。また、ドロップダウンやテキストフィールドのようなUIコンポーネントにリンクされているため。