インデックスの作成方法
その1
- 日本語のPublicTimeLineをいろいろな情報と共にDBに追加
- その中のTweetをSenで形態素解析して、またDBに追加
- そのDBからDataImportHandlerを使いインデックスに追加
その2
その3
DataImportHandlerを使わないでその3でいい気がしてきた
けどDBに形態素解析した結果を保持するとTweetと冗長か
けどもしインデックスが消えたら、すべてのTweetを形態素解析し直さなきゃいけなくて恐ろしく時間がかかる。インデックスを毎日バックアップしておけばその心配もないか。ということでその2に決定
Lucene本を読みながらインデックスの作成を作り直す。
- クローラ、index作成クラスの仕事
まだDBのファイルDL終わらないから,先に2,3を実装しよう
予定変更
DB必要なし!
その4
[ { "url": "http://twitter.com/wata308/status/000000000", "image": "http://s3.amazonaws.com/twitter_production/profile_images/000000000/a.jpg", "time2": "2009-06-25T16:14:51+09:00", "content": "TWEEEEEEEEEET", "user": "snkken", "time": "2009-06-25 16:14:51", "id": 000000000 },
- 日本語のPublicTimeLineをいろいろな情報取得(取得できる情報は上記の通り
- contentをJapaneseAnalyzerで形態素解析
- 形態素解析した文字列とuserからオリジナルのアナライザを使ってインデックスを作成
やっぱりDB必要だ。検索結果としてアイコンを表示しようと思うと、DBにそれらの除法を残しておいた方がいい。ユーザー名からshowStatus()で情報取得してると、すぐにAPI制限だ
本当は自分で日本語PublicTimelineのクローラを作れば色々できるんだけど、そのスキルがないために色々制限されちゃう
firehose使えれば簡単なのになー
だいたいできたと思うけど、analyzer-sen.xmlで指定している以外のものも形態素解析の結果として帰って来ちゃう
日本語のクロールとインデックスを1分ごとに自動的にやるもの完成
あとは他の情報をDBに追加する作業