くりにっき

フルスタックキュアエンジニアです

AZusaar! 検索API仕様 その2

Twitterで質問があったので補足。

リアルタイムな検索結果とそうでない検索結果

  • リアルタイムな検索結果(イベント内容が変更された時にAZusaar!で即座に反映される)
    • ATND
    • Zusaar
    • eventATND
    • connpass
  • そうでない検索結果(イベント内容が変更された時にAZusaar!で反映されません)
    • こくちーず
    • PARTAKE

リアルタイムでない検索結果が返ってくる理由は、サーバ側で保存している検索結果を返しているからです。

こくちーず API

APIがないため定期的に新着RSSを取得して保存し、それを検索で使っています。

今まではソースがRSSだけだったので、こくちーずでイベントページが作られてからしばらく経って公開された場合、新着RSSに出なくなるのでAZusaar!で検索できませんでした。

今はTwitterのタイムラインからこくちーずのURLを拾ってくるようにしたため、以前よりはヒットするイベントは増えていると思います。

ただしイベント内容は

<meta property="og:description" content="~" />

から引っ張ってるため、イベント内容での検索精度は低いです。(RSSでも大差ないですが)

ちなみにdescriptionじゃないのは、og:descriptionの方が長いからですw
スクレイピングはめんd(ry

PARTAKE API

PublicWebAPI - partakein - 公開WebAPIの仕様について議論してまとめるページ - A web application for event management - Google Project Hosting

AZusaar!ではこのAPIを使っているのですが、日付で検索することができないため新着イベントを定期的に取得してDatastore*1に保存し、検索の時はそれを表示しています

                          • -

こくちーずにしろPARTAKEにしろ、サーバに保存されていないイベントしか保存していないので、途中で内容が変更された場合には対処できません(古い内容で検索がヒットする)

そのため、AZusaar!では基本的にサーバ側でデータは極力持たないようにしています。

                          • -

追記:はてなブログ内をリンクするのってどうやるんだろ・・・