YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Japanese subtitles

← 18-54 Modifying The Search Engine Solution

18-54 Modifying The Search Engine Solution

Get Embed Code
2 Languages

Showing Revision 2 created 07/22/2014 by osawakjvta.

  1. 答えは
    “これらの関数の内3つを変更する必要がある”です
  2. まず1つ目はcrawl_web
  3. 2つ目はadd_to_index
  4. そして3つ目はlookupです
  5. get_all_linksはまったく変更せず
    以前と同じように保持できます
  6. 単にリンクのリストを返し
    インデックスには左右されません
  7. add_page_to_indexも変更させる必要はありません
  8. これはインデックスに左右されるのでやや驚きますが
  9. add_page_to_indexの書き方のせいで
    add_to_indexを呼び出すのです
  10. ですから実際のインデックスの表示には
    影響されません
  11. add_to_indexを呼び出しすべての単語を調べ
    それをインデックスに追加しています
  12. ですからこのコードを変える必要はありません
  13. 別の2つを変更する必要があります
  14. crawl_webから始めて
    ディクショナリに使用するために
  15. これにどんな変更を加えればいいか解明します
  16. 変更はとても小さいものになりますよね?
    インデックスがここにあります
  17. 古いバージョンではインデックスに
    空のリストを設定しています
  18. そしてインデックスで行うことは
    それをadd_page_to_indexに渡すことです
  19. ディクショナリに使用する変更を行うために
    角括弧を波括弧に変える必要があります
  20. そこで空のリストから開始するのではなく
  21. 空のディクショナリから開始しましょう
  22. これがcrawl_web行う必要のある唯一の変更です
  23. add_indexへの変更はもう少し複雑になります
  24. そしてcrawl_webのコードについては
    各ページで行うことはadd_to_indexを呼び出し
  25. インデックスを渡すことでした
    これは今はディクショナリです
  26. add_page_to_indexを見てみましょう
    これには変更が必要ないと言いました
  27. これがadd_page_to_indexのコードで
    インデックスを使用します
  28. 単語を1つずつ調べインデックスに追加します
  29. インデックスがリストであれディクショナリであれ
    同じことができます
  30. add_page_to_indexは変更する必要がありません
  31. add_to_indexを変更する必要があります
  32. ですからadd_to_indexのコードを変更します
  33. どのように行うのか考えてみましょう
  34. add_to_indexはインデックス、キーワード、
    URLを使用します
  35. 現在も同じパラメータを使いますが
    リストの場合に行ったことは
  36. インデックス内のすべてのエントリを1つずつ調べ
  37. 探しているキーワ-ドと一致するかどうか
    チェックすることでした
  38. 一致することが分かればURLを追加します
  39. 見つけられずに終わりに達したら
    新しいエントリをappendします
  40. それは1つ目のURLを含むURLのリストとキーワードです
  41. ハッシュテーブルインデックスと連携させるために
    これをどのように変更するのか解明しましょう
  42. ハッシュテーブルの素晴らしい点は
    何もループする必要がないということです
  43. それはハッシュテーブルによるものだと分かっています
  44. ディクショナリでは組み込み演算が同じことを行い
  45. ループすることなく キーワードがインデックスに
    あるかどうかすぐにチェックできます
  46. インデックスでキーワードを
    見つけた時に起きることは
  47. それをlookupできるということで
  48. インデックスに相当する
    ディクショナリのエントリでもlookupします
  49. それは既存のURLのリストになります
  50. 今行う必要があることは
    そのエントリを新しいURLにappendすることです
  51. インデックスにない場合はというと
  52. 別のことをする必要があります
  53. 以前行っていたことはappendを使用して
    新しい要素をインデックスリストに追加することです
  54. 今はする必要はありません
  55. 新しいキーと値の組を
    ディクショナリに追加する必要があります
  56. 代入を使ってこれを行います
  57. 追加するエントリは
    このURLだけを含んだリストになります
  58. ですからこのすべてを削除することができます
  59. 新たなエントリをキーワードに追加します
  60. とても簡単です
    コードが減り実行がとても速くなりました
  61. 何もループする必要はありません
  62. ハッシュテーブルのおかげでインデックスに
    キーワードがあるかすぐにlookupできます
  63. キーワードがあれば
    ディクショナリlookupを使用することで
  64. その値が分かります
  65. 新しいURLをキーワードに関連するURLのリストに
    appendすることができます
  66. もし見つからなければディクショナリ構文を使用し
    新しいエントリを作成することができます
  67. それにはそのURLだけが含まれます
  68. これでadd_to_indexを
    かなりシンプルにすることができました
  69. 皆さんがこれを理解できていることを願います
  70. できていれば自分でlookupを定義できるはずです