15

「オートコンプリート」を試すための優れたリソースやコードを誰かが持っているかどうか疑問に思っています

オートコンプリートの背後にある理論、どこから始めればよくある間違いなどを知りたいです。

Enso、Launchy、Google chrome、さらには tcsh などの製品がオートコンプリートを実行する方法に魅力を感じ、いくつかのサンプル コードを好奇心で始めたところ、これは以前に広く調査された分野であるに違いないという結論に達しました。

これを実装する方法について、誰かが優れた技術リソースを共有してくれれば幸いです。

前もって感謝します。

4

4 に答える 4

12
于 2008-10-22T18:48:58.057 に答える
2

GWT を使用したオートコンプリートの実装に関するこのブログを確認してください。

http://jroller.com/glongman/entry/gwt_autocompleter

しかし、実装がどのように行われるかを理解するために、最初は非常に単純なものから始めることをお勧めします。Trie から始めて、おそらく完全にクライアントに保存してから、必要に応じてサーバー クエリを使用して最適化します。

于 2008-10-23T14:26:12.707 に答える
0

オートコンプリートは通常、次のいずれかを使用して実装されます。

  • 。ツリー構造 (プレフィックス ツリー、サフィックス ツリー、dawg など) で検索可能なテキストをインデックス化することにより、メモリ ストレージを犠牲にして非常に高速な検索を実行できます。ツリー トラバーサルは、近似マッチングに適合させることができます。
  • パターン分割。テキストをトークン (ngram) に分割することにより、単純なハッシュ スキームを使用してパターンの出現を検索できます。
  • フィルタリング。一連の潜在的な一致を見つけ、順次アルゴリズムを適用して各候補をチェックします。

この件に関するいくつかの論文:

  • ボジヴォイ・メリチャー。有限オートマトンによる近似文字列マッチング;
  • ゴンサロ・ナバロ おおよその文字列マッチングへのガイド付きツアー。
  • レオニード・ボイツォフ。近似辞書検索のための索引付け方法: 比較分析;
  • Marios Hadjieleftheriou と Divesh Srivastava。おおよその文字列処理;
  • Surajit Chaudhuri と Raghav Kaushik。エラーを許容するためにオートコンプリートを拡張する。

Java オートコンプリートライブラリである fullyを見てください。

于 2015-06-19T19:59:59.747 に答える