jQueryのオートコンプリートを使用してタグを検索するためのオートコンプリート機能のような「GoogleSuggest」を実装しています。
jQueryにWebサービスを提供して、ユーザーが入力した内容に基づいた提案のリストを提供する必要があります。Webサービスを実装する2つの方法があります。
1)すべてのタグをデータベースに保存し、ユーザー入力をプレフィックスとして使用してDBを検索するだけです。これは簡単ですが、レイテンシーが心配です。
2)処理中のトライを使用してすべてのタグを保存し、一致する結果を検索します。すべてが進行中であるため、レイテンシーがはるかに低くなると思います。しかし、いくつかの問題があります。-プロセスの起動時にトライを初期化するための良い方法は何ですか?おそらく、タグデータをDBに保存して取得し、プロセスを開始するときにそれらをトライに変換します。しかし、その方法はわかりません。Python/Djangoを使用しています。-ユーザーが新しいタグを作成する場合、新しいタグをトライに挿入する必要があります。しかし、5つのDjangoプロセスがあり、したがって5つの試行があるとしましょう。他の4つの試行にも、新しいタグを挿入する必要があることをどのように伝えるのでしょうか。-Djangoプロセスがスレッド化されるのでトライがスレッドセーフであることを確認する方法(私はmod_wsgiを使用しています)。または、Pythonのせいでthreadsaftyについて心配する必要はありませんか?s GIL?-タグの使用頻度をトライ内にも保存する方法はありますか?タグの文字列がいつ終了し、頻度がいつ開始するかを知るにはどうすればよいですか?apple213をトライに保存すると、頻度213の「apple」ですか、それとも頻度13の「apple2」ですか。
上記の問題に関するヘルプや、別のアプローチに関する提案をいただければ幸いです。