Contenu connexe Similaire à Pythonで検索エンジン2 Similaire à Pythonで検索エンジン2 (20) Pythonで検索エンジン28. 自己紹介
自分のブックマークを整理したい!
↓
自分がブックマークしたということは、自分にとって、重要?
↓
ちょっと検索してみよう
↓
あれ、このページってこないだ「お気に入り」に入れなかっ
たっけ?
2009/12/26 プログラミング生放送勉強会 第2回
13. ブックマーク検索エンジン
OpenIDの例 はてなを利用した例
1. OpenID認証を利用したサイトに対して、はてなの
Identifier(http://www.hatena.ne.jp/kawa1128/)を渡す。
2. 受け取ったら、Identiferをライブラリに渡して、Discoveryする
。
3. Discoveryした結果、認証するためのページのURIを得る。
4. そこにリダイレクトさせるように、HTTP Status 301をクライア
ントにかえす。(この際に認証後にリダイレクトするページを
渡しておく)
5. クライアントのブラウザが認証するサイトを表示する。
6. 認証する。
7. Identify Providerから、リダイレクトされてくる。
8. 認証完了
2009/12/26 プログラミング生放送勉強会 第2回
14. ブックマーク検索エンジン
OpenIDの例 はてなを利用した例
受け取る情報
openid.sig xNttUpcaC57H/3vRPM=
openid.return_to http://www.kawa1128.jp/test/openid/verify.cgi?
janrain_nonce=2009-12-
23T15%3A14%3A08ZKCFGIu&openid1_claimed_id=http
%3A%2F%2Fwww.hatena.ne.jp%2Fkawa1128%2F
janrain_nonce 2009-12-23T15:14:08ZKCFGIu
openid.response_nonce 2009-12-23T15:14:13ZmLDjrU
openid.claimed_id http://www.hatena.ne.jp/kawa1128/
openid.mode id_res
openid1_claimed_id http://www.hatena.ne.jp/kawa1128/
openid.signed mode,claimed_id,identity,return_to,response_nonce,assoc_
handle
openid.identity http://www.hatena.ne.jp/kawa1128/
openid.assoc_handle 1260465265:cPZRiL75:bf7e6ec7eb
2009/12/26 プログラミング生放送勉強会 第2回
15. ブックマーク検索エンジン
OpenIDの例 Pythonコード例
import openid.consumer.consumer
import openid.store.filestore
import openid.extensions.sreg
auth_uri = 'http://www.hatena.ne.jp/kawa1128/'
openidsession = dict()
store = openid.store.filestore.FileOpenIDStore("./store")
consumer= openid.consumer.consumer.Consumer(openidsession, store)
request = consumer.begin(auth_uri)
urlroot = "http://www.kawa1128.jp"
urlredirect = request.redirectURL(urlroot, urlroot + '/test/openid/verify.cgi')
print 'Status: 301 Moved'
print 'Location: ', urlredirect
print
2009/12/26 プログラミング生放送勉強会 第2回
16. ブックマーク検索エンジン
検索エンジン
• 自分最適化
(いまんとこスケールさせることは考えない)
• そもそも、自分で登録するんだからノイズが少ない
ので、スコアリングロジックは単純に!
• でも、技術的追求はしたいよね。
• 形態素解析とかは、むりだけどね。
というわけで、
DBとしてSQLite3を利用
形態素解析器として、MeCabを利用。
2009/12/26 プログラミング生放送勉強会 第2回
17. ブックマーク検索エンジン
検索エンジンのしゅるい
• 形態素解析を利用したもの
o 検索精度は割と高め
o ディスク容量は中程度
o Indexingに時間はかかる
• N-gram方式を利用したもの
o 検索漏れがない
o Indexingが早い
o ディスク容量は結構使う
2009/12/26 プログラミング生放送勉強会 第2回
18. ブックマーク検索エンジン
クローラーとインデクサ
• リンクの深さ 5段くらい?
• 一度クロールしても、しばらくして、ブックマーク
に新たに追加された場合再度クロール。それ以外の
場合際クロールはしない。
• 認証とかされているとお手上げ。
• 一度インデックシングした情報は消さない
• できれば、キャッシュとして、クロールしたページ
は残しておきたい。
2009/12/26 プログラミング生放送勉強会 第2回
20. ブックマーク検索エンジン
DB構成
UserDB BookMarkDB URLDB
---------------------- ----------------------- ----------------------
openid user_id URL
user_id url_id url_id
date
WordDB LocationDB
----------------------- ----------------------
word url_id
word_id word_id
position
2009/12/26 プログラミング生放送勉強会 第2回
21. ブックマーク検索エンジン
宣伝!
http://bs.kawa1128.jp/
絶賛公開予定!!!!
2009/12/26 プログラミング生放送勉強会 第2回
22. ブックマーク検索エンジン
宣伝!
http://bs.kawa1128.jp/
絶賛公開予定!!!!
未定!!
2009/12/26 プログラミング生放送勉強会 第2回