ブックリスト演算(足し算編の続きと引き算編)


ブックリスト演算のテーブルを前回書いたように |ユーザー毎のid|isbn| みたいな感じに作り直す。作り直す過程でうっかりユーザー名が不可逆な状態になってるのを発見する(ぁ まあ類似本さえ探せればいいのですよ,ええ。
テーブルなおしたおかげで,目に見えて表示が早くなりましたね。


で,次に同著者の本とそれ以外で分ける実験。
最初は前回書いたようなSQL文で分けようかと思ったけれど,いちいちクエリを実行させるのも重いので,多めにMySQLのクエリでひっぱってきて,それをAmazonから著者名で検索してひっぱったISBNリストの配列とマッチングさせてみる。


で,やってる途中で気づく。Amazonって一度に数個しかISBN拾えないorz


まあページを変えて取得し直せばちゃんと全部のデータを拾えるのですが,そもそも本棚演算よりもはるかに重い。まあ一秒に一回の縛りとかのからみかもしれない。



とりあえずこんな感じにしてみた。*1やっぱり上位には同じ著者の本が並ぶ傾向があるので,そのへんをまとめられるとわりと見やすい。特にマリ見てなんかこれをしないとマリ見てシリーズしか並ばない。




ぜひちゃんと使えるようにしたいところなのだけど,Amazon使うとさすがに重い。むしろ関連本出力時に各図書の著者データを拾わせて*21冊ずつ振り分けた方が利口かも。

*1:非常に重いのでまだ公開しません

*2:ISBN毎にキャッシュを保存してるのですぐとれる