2014.08.20

Amazon CloudSearchのfull IAM Integrationについて


先日AWSのSecurity Blogで↓のPostがありました。
Amazon CloudSearch: Now with More Granular Access Control for Domains
日本語でいうと『ドメインに対して、もっときめ細やかなアクセス制御が出来るようになりました』といったところ。
内容的には、今までIPアドレスによる制御だったところも含めて、全ての動作をIAMと連携させて制御出来るようになりましたよ〜、と。
 
リリースノートはこちら↓
・CloudSearchのリリースノート
http://aws.amazon.com/releasenotes/Amazon-CloudSearch/1871900091956327
・CloudSearchに関するSDKのリリースノート
http://aws.amazon.com/releasenotes/JavaScript/9496928936129263
http://aws.amazon.com/releasenotes/Java/2138336306646950
http://aws.amazon.com/releasenotes/.NET/3056128390492459
http://aws.amazon.com/releasenotes/Ruby/4398926695262630
 
 
ということで、感触を掴むために実際に試してみたいと思います。
 
 
■ 検索ドメインの作成
 
検索ドメインを作っていくところでアクセス制御のところの見た目がだいぶ変わっています。

 
今まではIPによる制御だったdocument(インデクシング)とsearch(検索)のところが
Search and Suggester service: Allow all. Document Service: Account owner only.
にしてみると↓のようになりました。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "*"
        ]
      },
      "Action": [
        "cloudsearch:search",
        "cloudsearch:suggest"
      ]
    }
  ]
}

 
 
■ 検索してみる
 
サンプルの映画のデータを元にjamesで検索してみます。
 
・Management Consoleから叩くとガッツリ返ってきます。

 
・URLをブラウザから入力すると、、anonymousはだーめよ、と。

 
・CLI経由で叩いてみます⇒イイ感じです(´▽`)

$ aws cloudsearchdomain search --endpoint-url https://search-access-wjysaokxvaj3fil3hkw4vbmdi4.ap-northeast-1.cloudsearch.amazonaws.com/ --search-query james

{
    "status": {
        "rid": "hNOPlP8oCgqnCm0=", 
        "time-ms": 3
    }, 
    "hits": {
        "found": 304, 
        "hit": [
            {
                "fields": {
                    "rating": "7.5", 
                    "genres": [
                        "Biography", 
                        "Crime", 
                        "Drama", 
                        "History", 
                        "Western"
                    ], 
                    "plot": "Robert Ford, who's idolized Jesse James since childhood, tries hard to join the reforming gang of the Missouri outlaw, but gradually becomes resentful of the bandit leader.", 
・・・

今回はとてもシンプルにやりましたが、この searchdomain は、
クエリパーサーも選べますし、ハイライトとかファセットとかフィルタークエリーといったところも
サポートされていて、動作検証の際などに重宝しています↓
http://docs.aws.amazon.com/cli/latest/reference/cloudsearchdomain/search.html
 
 

今回のIAMインテグレーションは、SuggestやDocument(インデクシング)にも、もちろん使えますし、
クレデンシャル周りはEC2にIAM ROLEを付けるような運用にすると良さそうですね!
 

Amazon Web Services 基礎からのネットワーク&サーバー構築
玉川憲、片山暁雄、今井雄太
日経BP社
売り上げランキング: 1,399

2014.08.08

Amazon CloudSearchのMulti Languagesについて


Amazon CloudSearchは2014年3月から日本語がサポートされましたが、
Analysis SchemeでJapaneseを選択した場合、形態素解析のみとなり、
N-Gramがあるとイイのにな、と思う場合があります。
Analysis Schemeには”Multi Languages”というオプションがあるのですが、
先日、こちらを選択することで、N-Gramに該当する検索が実現できるようになりましたので
さっそく試してみたいと思います。
 
■ Japanese(日本語形態素解析) と Multi Languages(N-Gram) の 2つのフィールドを定義します。
 

 
 
■ それぞれのフィールドに都道府県の名称を入れてみます
 

 
 
■ Japanese(日本語形態素解析) を “京都” で検索してヒットするのは “京都府” のみになります。
 

 
 
■ Multi Languages(N-Gram) を “京都” で検索してヒットするのは “東京都” と “京都府” になります。(スコア同じ)
 

 
 
■ カレット(^)で Japanese(日本語形態素解析) を重み付けしてみます。(デフォルト値は1なのですがjapanese^5にしてみました)
 

 
 
■ わざわざ2つデータを突っ込むのは面倒です。
 CloudSearchには”Source Field”という機能があるので、
 ↓のように設定することで、 Japanese(日本語形態素解析) のデータを copy_multi(N-Gram) にコピー出来ます。

 

 
 
■ copy_multi(N-Gram) は上記の multi(N-Gram) と同様の振る舞いをします。
 

 
 
■ Japanese(日本語形態素解析) と copy_multi(N-Gram) を組み合わせてキャレットの重み付けももちろん可能です。
 

 
 
CloudSearchはon goingなプロダクトで、今後も機能追加が沢山予定されております〜 :)
 
@imai_factoryが著者の一人の↓オススメです(*´∀`*)

Amazon Web Services 基礎からのネットワーク&サーバー構築
玉川憲、片山暁雄、今井雄太
日経BP社
売り上げランキング: 941

 

2014.07.02

Nikko One-Day Trip 2014 June


I just wanted to feel natural atmosphere. I didn’t build a plan but just off to Nikko.

I took TOBU limited express train called KINU from Kita-Senju.

Just sit-back-relax.

Change to the local train at Shimo-Imaichi.

Arrived at TOBU-Nikko station.

Near the statin, there is a convenience store and I withdrew some money. (Need some cash to get into Temple and Shrine) And walked down to the Nikko World Heritage Area.
I got hungry and stop by 食堂 食堂すゞき Shokudo-Suzuki.

I ordered YUBA(famous Nikko cuisine) pasta. Yummy.

Dessert was awesome :)

神橋(Shinkyo. Means holy bridge)

Enter the World Heritage Area!

輪王寺(Rinno-ji). Just a construction site!! lol

IHI(http://www.ihi.co.jp/en/) is in charge of this.

Niwa was beautiful.

I was able to drink natural water. (飲み水 means “water for drink”)

東照宮(Tou-Sho-Gu) is the most popular place in Nikko.

五重塔(Go-Ju-No-Tou. five-story pagoda)

World Famous Three Wise Monkeys!!

Yeah, gorgeous!

Really detailed and high-quality.

眠り猫(Sleeping cat. In the opposite side, bird is singing. But cat sleeps. That means so peaceful)

We can climb up to get to 奥社(Oku-sha)

This is what I want to feel :)

When I was a kid, I went to Nikko as school trip and I was totally moved by 鳴龍(Naki-Ryu. Dragon Barks)
The building was under construction but I was able to be and hear the coooool dragon sound!
Not only sound, Dragon painting on the ceil is also great. I think that design is nice for tatoos..

Walked in the fresh air.

二荒山神社(futarayama-shrine)

縁結びの木(matchmaking tree)

家光廟大猷院. Tokugawa Iemitsu grave. He was a well known monarch.

Gorgeous.

This is like 竜宮城(Ryu-gu-jyo) entrance

relaxing…

Unfortunately time is limited. I came back to Tokyo by TOBU train.

2014.06.20

it’s been 4 years


2014年サッカーワールドカップの日本代表の初戦の対戦相手はコートジボワールでした。
 
思い起こせば4年前のワールドカップシーズンに、はじめて海外出張にいきました。
ニューヨークのマンハッタン。ワールドカップの日本戦はオフィスのそばのレストランや、
当時NYに駐在していた上司の家で観戦しました。
 
出張中に、オフィスでの仕事が終わって、タクシーに乗ってディナーに向かう時に、
運転手さんとサッカーの話をしました。どこから?って聞いたらIvory Coast。
ワールドカップにも出てるんだぜ、と。
日本ではコートジボワールって皆んな言うよ〜って伝えたら喜んでくれたような記憶があります。
 
この4年間で、アメリカに住んだり、カナダに住んだり、外資系企業に転職したり、
インターナショナルな感じで仕事出来るように頑張ってきたつもりで、
少しずつだけど、そっち側になってきてるかなと。
 
ついでに、それ以外はこの4年間どうだったっけな?なんて考えたりして。
 
自分は元々は普通のDeveloperで。結局はソースコード1行1行が動くのだから、
プログラム書いてるヤツがエラいに決まってるって思ってやってました。
 
流行りな技術とか追いかけてると、なんとなく自分が業界のド真ん中に
いるような気がして。なんか居心地イイっていうか。
たとえ残業が続いても、深夜にトラブルで叩き起こされても。
 
それが、自分のDeveloperとしての技量や、もっと他の人と違うことしたいなっていう欲求とか、
自分が向いてるのってどういうところだろうとか、イロイロ考えているうちに、
今は、開発の現場から離れて、サービスを人に紹介したり、色んな人と会ったり、大勢の前で話をしたり。
 
この4年間あっという間だったけど、イロイロあったし、自分の中で取捨選択して、今があるんだなぁと。
 
先週末に、今働いてる会社が開場を提供して、ハッカソン(ハック+マラソン)を行いました。
土日の2日間で学生さん達がアイデアを出して、それを形にすることのお手伝い。
エンジニアやデザイナーの方が参加されたわけですが、
運営も学生さん。彼らのオーガナイズ力の高さに、ただただスゲーなーと。
 
あー、自分、年取ったな〜って考えたと同時に、スキルも経験もある若者技術者たちを間近でみた危機感というか。
もうちょっと、技術的なところをキャッチアップしてかないと、彼らに対して説得力のある説明とか出来なくなりそうだな、と。
#オッサンの昔の自慢話とかほどサブいものないし。。
ってことで、JavaScriptとか筋トレみたいなノリで日々いじろうかな、とか思ったり。
 
にしても、次の4年後、どうなってるのか全然想像つかないけど、色んな事にチャレンジして
エキサイティングな日々を送りたいものです。
 
↓ハッカソンの最後に撮った集合写真 :)

2014.05.29

LucidWorks SiLK を触ってみる


日頃いろいろな会社のお客様と技術話をさせていただくことが多いのですが、
Kibana + ElasticSearchを導入されているところが多いなという印象を持っています。
 
私自身は業務でElasticSearchを使ったことがなく、ずっと検索まわりはSolrでやってきたのですが、
SolrでもKibanaのようにダッシュボート的に使えるイカしたUI的なのないかなと思って
探していたら、LucidWorksという検索界隈では有名な会社がSiLKというソリューションを提供していました。
 
こちら↓にあるように『Solr integration with LogStash and Kibana』まんまやん、と。。

 
中身を見てみると、ElasticSearchの部分はSolrになっているのは、そりゃそうだって話ですが、
Kibana部分はBanana(https://github.com/LucidWorks/banana)というものになっています。
こちらも『Banana for Solr – A Port of Kibana』といった感じ。

 
↓ちょいちょい開発も活発で2週間前くらいにリリースもされているようです
Banana 1.2: Released on 11 May 2014
 
 
■ ダウンロードして起動してみる
 
上記のSiLKのページから必要な情報を入力して、ダウンロードしてきたものを解凍して立ち上げてみます。
SILK-README.txt には↓のように書いてあったので、その通りに。

1. Run Solr  

    cd $SLK_INSTALL_DIR/SiLK-1.1/solr-4.7.0/SiLK
    java -jar start.jar  

 
↓普通のSolrと同じように8983でリスンしてるっぽいので

4201 [main] INFO  org.apache.solr.servlet.SolrDispatchFilter  – SolrDispatchFilter.init() done
4214 [main] INFO  org.eclipse.jetty.server.AbstractConnector  – Started SocketConnector@0.0.0.0:8983

 
ブラウザからhttp://localhost:8983にアクセスしてみると、
solr.warとbanana.warっていう2つのwarファイルが配置されているようです。

 
で、bananaの方にアクセスしてみると、それっぽいのが出てきました。
Syslog Demoということみたいです。
errorで検索をしているみたいですが、OUTLOOKのがチョイチョイ出てます…。

 
 
■ Solrの定義ファイルを見てみる
 
Solrの管理画面を見てみると↓のlogstash_logs_demoなのかなという気がしてきます。
(他は全然ドキュメント入ってなかったので…)

 
スキーマブラウザをみると↓そんな感じなのね、と。

 
schema.xmlを探してたら、confディレクトリの下は schema.xml.bak となっていて、
それっぽいのを他に探してみると、managed-schemaというファイルがあって、
↓こんな感じで定義されていました。

  <fields>
    <field name="_version_" type="long" indexed="true" stored="true"/>
    <field name="event_timestamp" type="tdate" indexed="true" stored="true"/>
    <field name="event_version" type="long" indexed="true" stored="true"/>
    <field name="host" type="text_en" indexed="true" stored="true"/>
    <field name="id" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
    <field name="logtext" type="text_en" indexed="true" stored="false"/>
    <field name="message" type="text_general" indexed="true" stored="true"/>
    <field name="path" type="text_en" indexed="true" stored="true"/>
    <field name="received_at" type="text_en" indexed="true" stored="true"/>
    <field name="received_from" type="text_en" indexed="true" stored="true"/>
    <field name="source_host" type="text_en" indexed="true" stored="true"/>
    <field name="syslog_message" type="text_en" indexed="true" stored="true"/>
    <field name="syslog_program" type="string" indexed="true" stored="true"/>
    <field name="tags" type="text_en" multiValued="true" indexed="true" stored="true"/>
    <field name="type" type="text_en" indexed="true" stored="true"/>
    <dynamicField name="*_coordinate" type="tdouble" indexed="true" stored="false"/>
    <dynamicField name="ignored_*" type="ignored" multiValued="true"/>
    <dynamicField name="random_*" type="random"/>
    <dynamicField name="attr_*" type="text_general" multiValued="true" indexed="true" stored="true"/>
    <dynamicField name="*_txt" type="text_general" multiValued="true" indexed="true" stored="true"/>
 …

 
 
■ データの投入方法
 
なんとなく、動かせそうな手応えが掴めてきました。
続いてデータ投入はElasticSearchは自社で開発しているLogStashというログコレクタを使う感じになるのかな、と。
 
SILK-README.txtを見ると、solrWriterForLogStash/logstash_deploy/logstash_logsに
いろいろあるよ的な事が書いてあります。
 
一番ぽゆい感じのドキュメントをみると、やり方がズダズダっと書いてあるのですが、

$ cat MANUAL.TXT 
Instructions 

This document details how to use LogStash with Solr.  This release has been tested with:
 	Solr version 4.4.0, 4.5.0, 4.6.0, 4.7.0
 	LogStash version 1.3.3
 	Java 1.6.0

1) Create a collection to hold the log event data.  

途中から↓のような記述が出てきて、なんかちょっとLucidWorksロックイン的な
感じになったらヤダな、、とか。
・Copy lucidworks.jar to the directory where you will execute the LogStash jar file
・Copy lucidworks_solr_lsv133.rb to your LogStash outputs directory.
 
個人的には普段はFluentdを使っているので、fluent-plugin-xxxみたいので
サクっと出来たらいいのになぁなんて思ったりもしますが…。
 

[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus)
大谷 純 阿部 慎一朗 大須賀 稔 北野 太郎 鈴木 教嗣 平賀 一昭
技術評論社
売り上げランキング: 40,317

2014.05.24

Infinity Ventures Summit 2014 Springにスタッフとして参加しました


Infinity Ventures Summitに、2013 Spring2013 Fallに続いて
2014 Springもスタッフとして参加させていただきました。

 
今までの2回はB会場のステージ担当でしたが、今回はA会場担当ということで、フレッシュな気持ちで参加させていただきました。
今回も、若く、スキルフルで、モチベーションの高い皆さんと一緒にチームとして気持ちよく仕事が出来ました。
また、同じタイミングでIVSに参加するようになった、前職で同じ開発部にいた @sohei
ソーシャルメディアチームのリーダーとして、アウトスタンディングな活躍をしていました。

 
ステージ担当はセッション前後にタスクが集中しますが、その分、たくさんのセッションのお話を聞くことができます。
今まで以上に、普段お仕事でお世話になっている方も多くなり、お話ひとつひとつが今まで以上に腹落ちする、
とても貴重な機会でした。

 
また、今まで以上に国際色豊かなセッションが多く、懇親会でも色々な国から来られた登壇者の方ともお話させていただき、
改めて英語の重要性を再確認しました。

 
IVSの目玉であるLaunch Padでは、最前線で作業させていただきました。
舞台の袖で、ビリビリした緊張感がダイレクトに伝わってくる場所で、日常ではなかなか経験できない雰囲気。

 
今回の全てのセッションを通して、一番心を打たれたのは、ジャパンハートの吉岡秀人先生のご講演。

 
お話に感動して、サイン入で書籍を購入させていただき、

 
一緒に写真を撮っていただきました。

 
全てのセッション終了後は、お預かりしたお荷物を登壇者様にお届けしたり、紛失物をセッション会場で隈なく探しつつ、
台帳管理された備品を収納していきます。ケーブル一本一本に至るまで丁寧に梱包して格納し、次回のIVSに備えます。

 
全ての業務完了後、クロージングパーティーに参加させていただきました。
この豪華BBQのクオリティは一度味わってしまうと忘れられません…。

 
今回も素晴らしいカンファレンスに参加させていただきありがとうございました!
IVPの小林さん、小野さん、田中さんはじめ、3日間一緒にスタッフとして働かせていただいた皆さまに感謝です!

 

救う力 人のために、自分のために、いまあなたができること
吉岡 秀人
廣済堂出版
売り上げランキング: 4,758

2014.05.21

函館観光 May 2014


青森から津軽海峡フェリーに乗って函館へ。

 
ちょいちょい市街から外れたところのターミナル。

 
函館駅行きのバスまで時間あったので、鮭イクラ丼的な。

 
食堂から外に出るとカップル用(?)の。

 
バスで駅までは15分くらいでした。

 
函館駅。

 
ホテルは駅の目の前の↓

 
荷物を預かってもらって五稜郭へ。

 
とても雰囲気の良いところでした。

 
箱館奉行所。当時の文献等を元にして忠実に再現したとのこと。
中に展示してある資料類は開港後の様子とか面白かった。

 
骨組み模型カッコイイ。。

 
タワーへ向かいます。

 
展望台からは五稜郭が迫力ある感じで。

 
模型とか。

 
なかなか良い景色。

 
このソフトクリームうまかった。300円。

 
ホテルに戻って温泉に使ってから、観光再開。市電で元町の方へ。

 
この辺一体は本当にシャレオツな雰囲気。

 
旧函館区公会堂。時間ギリだったけど入れてもらえた。

 
なんともゴージャス感のある。

 
テラスからの景色もナイス。

 
とてもよく手入れされた感のある。

 
函館山に行く途中にいくつか教会を見て回りました。聖ニコライ。

 
夜はライトアップされる。

 
テクテク歩いてロープウェイ。

 
登ってる途中。期待できそう。

 
展望台は富士山の山頂くらい人でごった返してたけど、景色はキレイでした。

 
降りるのにはちょいちょい並びました。中国からの団体旅行客と、修学旅行系の学生が多かったなぁ。

 
そのまま赤レンガ倉庫方面へ。なぜか原発反対な自由の女神。。

 
人は少ないけど、イイ雰囲気。

 
赤レンガ倉庫群。夜遅かったので中には入らず。

 
更に歩いて函館駅の方に。なんかでっかい船。

 
カップルとか釣りしてる人とか、静かでナイスなところ。

 
函館っていうことで、塩ラーメン。駅前の しなの というラーメン屋。

 
温泉入って寝て、朝は早朝のスーパー北斗で札幌へ。

 
函館駅でかった駅弁。でも、電車の中で売ってた長万部のかにめしの方が旨そうだったかも。。

 
ガッツリ食って、北海道ならではの景色を楽しんで、ちょっと寝たら新札幌でした、と。

 

るるぶ北海道’14~’15 (るるぶ情報版(国内))
JTBパブリッシング (2014-03-17)
売り上げランキング: 4,532

青森観光 May 2014


今年も5月に札幌で開催されるInfinity Ventures Summitにスタッフ参加するので、
折角だからということで、お休みをいただいて青森→函館→札幌という流れで行くことにしました。
 
個人的に初東北新幹線だったかも。新青森まで。

 
駅で買ったわっぱ飯。

 
寝てたのですぐ着いたなという印象。

 
青森県立美術館へ。イイ時間のバスが無く、タクシー。1200円くらい。

 
特別展と常設展のセットで1500円也。

 
『あなたの肖像-工藤哲巳回顧展』コレはとにかくハンパなかった。普通じゃない。並外れてる。
下書きというか、設計図というか、手書きのものも展示されていましたが、コンセプト含めてビッシリでした。

 
常設展。奈良美智のあおもり犬はとても有名で、ココだけ写真とってもOK。
冬場以外は外に出て、犬のすぐそばまで行くことができます。棟方志功とかもナイスでした。

 
お昼は期間限定で安くなってたカレー。角切りりんごが入っててナイス。

 
7〜8分公園っぽい自然な道をブラブラ歩いて、三内丸山縄文遺跡へ。
それにしても、隣の自衛隊の演習場から銃声がバンバン聞こえてきて、ちょっとおっかない…。

 
いろいろ展示してある建物があったり、観光に力を入れてる感じ。

 
本数が数少ない、ねぶたん号で青森駅方面へ。

 
青函連絡船メモリアルシップ八甲田丸っていうのがあるってことで行ってみることに。
そしたら、船の目の前に、スピーカーから結構な音量で津軽海峡冬景色を流してる記念碑みたいのがあった。

 
船の中の展示は結構面白くて、へーっていうのが多かった。
昭和29年の洞爺丸の事故のこととか。

 
操縦席。他に誰もいなかったので、船長気分をしばし味わうなど。。

 
外の景色もイイ感じ。

 
煙突展望台。

 
展望台っていうよりも、中の↓が、おぉって感じだった。

 
こういうのもナイスですなぁ。結構中国語の書き込みを多くみかけました。

 
下のフロアにいくと、橋のワイヤーの展示とか。

 
列車を運んだんだなぁと。

 
列車も展示されてる。

 
さらに下にいくとエンジンルーム。好きな人にはたまらないのですかねぇ。

 
そんな感じで楽しませてもらいました。

 
こうやって列車を搬入したのねぇと。

 
ブラブラ歩いて滞在するホテルに向かいます。駅前の商店街は完全シャッター…

 
滞在したホテルは Hotel&Spa 青森センターホテル というところ。
スーパー銭湯にホテルがくっついたような感じ。ゴージャスじゃないけど温泉入りたかったので良かったです。

 
温泉入ってから、ブラブラ街を歩いてみることにしました。

 
青森駅は大きなターミナル駅なんだな、と。

 
それにしてもヒトケがない。。

 
観光タワーも8時前で全てシャッターがしまってました。

 
港町的な雰囲気はなかなか良いんだけど。

 
大学生の時にゼミの合宿で、白神山地に行って、その後に、ねぶた祭をみて帰ったんだけど、
その時はエラい人でしたが、平日夜となると、この辺はほんとに人がいない。

 
柳町通りまで出てみましたが。。

 
そんなこんなで夜ご飯は駅前のお寿司屋さん。

 
周りのお客さんのローカルな会話とかも興味深かったです。みんなのんびりしててイイ雰囲気。

 
ホテルに戻ろうとしたところ、日本DEEP案内にも取り上げられた第三新興街に出くわした。
スゲー雰囲気だったので、入るのはばかられたのだけど、勇気を振り絞って通り過ぎてみることにしました。笑
お店の中からは、カラオケの音も聞こえてくるし、あまり若くはないであろう男女の談笑の声も聞こえてきました。
さすがにどこかのお店ののれんをくぐろうとは思えませんでしたが。。
 
ホテルは、いろは通りにあるのだけど、夜は本当に真っ暗。女性1人はちょっとどうかな?といった感じかもしれません。

 
朝食はガッツリいただいて。

 
津軽海峡フェリーで、函館に向かう事になっていたのですが、バスの時刻表をみると、また微妙な時間で、
タクシーもなんだかなということで、徒歩で。森林博物館とか。

 
船の博物館とか。

 
そんなこんなで40分くらい。イイ運動でした。

 
新しくて小ぎれいな感じのフェリー乗り場。車な人が結構多かったです。

 
500円多く払ってビューシートにしたら、とても快適でした。
電動リクライニングでかなりフラットになるので、よく寝れました。

 
船の中の自動販売機は、本売ってたり、USB充電器が売ってたり。

 
ガラナ飲みながら出発。

 
曇っててちょっと寒かったけど、甲板に出て景色も楽しめました。

 

るるぶ青森 弘前 奥入瀬 白神山地’14 (るるぶ情報版(国内))
JTBパブリッシング (2014-01-22)
売り上げランキング: 9,471

2014.05.16

[Report] #CloudSearch Meetup at Amazon Japan Office


We held CloudSearch Meetup at Amazon Meguro office in Tokyo.

 
In March 2014, Amazon CloudSearch launched a lot of new features. And now, CloudSearch team is in Tokyo on business. So it is the best timing to hold a meetup here.
 
 
- CloudSearch Overview, Technical deep dive by Jon Handler(@jon_handler)
 

 
CloudSearch Solution Architect Jon Handler gave a presentation about Amazon CloudSearch and features.

In Q&A part, there were a lot of pragmatic questions like Having customer original dictionary / Language detection / N-Gram tokenizer / Realtime indexing and so on.
That kind of feed backs are really precious to CloudSearch team. Thanks a lot!
 
 
- Expectations for CloudSearch by Osuka-san(@mosuka)
 

 
Osuka-san is the contributor of Apache Solr and he gave CloudSearch some expectations. He has been focusing on Search systems for a long time so his saying was very helpful to understand how hard to manage Search infrastructure by ourselves and using CloudSearch is beneficial.

He told us some detailed Japanese matters.
“こちらは社長室長谷川さんです” – There are two meanings in Japanese.
1. This is Hasegawa-san, Member of President’s Office.
2. This is Tanigawa-san, Executive secretary of President’s Office.
Even for Japanese people, we need to understand the “context” to tokenize. Yes, Japanese Search is not easy.
Aside from that He proposed using Machine Learning technologies to solve Search quality issues and AWS has variety of services to handle that. So having connectors to that services are nice.
And nowadays, make the information searchable quickly is the demand so having Kinesis connector to manage real-time is really welcome.
 
 
- Impression of Using Cloudsearch(@yoshi0309)
 

 
Yoshida-san is very skilled Search engineer and he wrote some blog post about CloudSearch. I was lucky to have Yoshida-san in our meetup :)
He gave us some topic that he did try to use. Not only explanation but this kind of DEMO-ish presentation is awesome!

Maybe the cost would be much cheaper than his estimation but CloudSearch can appeal cost effectiveness compare to other Search solutions.
And we are looking forward to having CloudSearch functions in Manifold CF that Yoshida-san has done pull request!!
 
 
- SnapDish usecase by Kiyota-san(@kiyotaman)
 

 
We appreciate that Kiyota-san always shares SnapDish CloudSearch use case kindly. Thanks to Kiyota-san, CloudSearch can appeal that Japanese AWS user has already used CloudSearch in popular service.

For fine-tune, he has done Japanese Tokenize himself(means outside of CloudSearch). CloudSearch team understands that and will do some work for it.
Everyone was hungry because the meetup was held in late at night and his SnapDish slide made us more hungry :)
He leads Python Conference in Japan(called PyCon). If you are a Pythonista why not do join? https://pycon.jp/2014/
 
 
- Drinkup
 
We did Drinkup after meetup. CloudSearch team and Japanese Search engineers had nice discussions :)
Osuka-san and Vivek

 
My Search SENSEIs(we worked at the same campany)!

 
Thanks for coming, guys!!

 

Thanks for helping me Yifeng and Yasukawa-san to organize the event!!

2014.03.25

CloudSearchが多言語対応してTokyoリージョンに!Suggesterを試してみる


本日、↓のアナウンスがございましたが、CloudSearchの大きなローンチがありました。
【AWS発表】Amazon CloudSearch 大幅アップデート – 1ヶ月100ドル以下でより良い検索が可能に!日本語にも対応!
 
日本語に対応したマネージドな検索エンジンが東京リージョンで使えるということで、早速試してみたいと思います。
お題は、先日書いた、SolrのSuggesterを試してみる | shinodogg.comのCloudSearch版ということで。
 
■ ドメインを作る
 
ManagementConsoleからDomainをCreateします。

 
ドメインの名前は取り敢えず、、、。
で、インスタンスタイプとレプリケーションの数が選べます。

 
ドメインのスキーマ定義はCSVファイルから。

 
CSVファイルの名前は山手線の名前で。

 
今回のローンチでAnalysis Schemeのところで”Japanese”が選べるようになりました!

 
IP制限の設定などして、ドメイン構築が終わるのを待ちます。

 
 
■ Suggesterの設定
 
続いて、新機能のSuggesterを追加します。
ユルく当てたり、Solr記法でソートの順番が変えられたりします。

 
Suggester用のインデクシングが必要な旨、表示されます。

 
ドメインのダッシュボード画面に戻ると”Run Indexing”が表示されます。

 
インデクシングを走らせてしばし待ちます。

 
 
■ データを投入します
 
肝心のデータを入れてませんでした…w
こちらも先ほどの山手線のCSVファイルをアップロードします。

 
29ドキュメントありますよー、と。

 
実際にはSDFというCloudSearch用の形式でデータは投入されるのですが、
CSVから変換されたSDFをダウンロードすることが出来ます。
中身みると↓こんな感じ。

 
29ドキュメントのaddがSuccessだったよ、と。

 
 
■ クエリを試してみる
 
Run a Test Search で Suggester を先ほど上記で設定した yamanote にします。

 
平仮名で入力しても漢字の駅名が表示されます。

 
“しん”で新橋が出てこないなぁって思ったら、

 
なるほど、そういう事なのね、、と。日本語奥深いです。。

 
こちら、いろいろと重宝しそうかなと思っていますヽ(´▽`)ノ
 
 
■ Developer Guide
 
↓ボリュームのあるドキュメントがあるので、今度も特徴のある機能などをピックアップして紹介したいと思います。
http://docs.aws.amazon.com/cloudsearch/latest/developerguide/what-is-cloudsearch.html
http://awsdocs.s3.amazonaws.com/cloudsearch/latest/cloudsearch-dg.pdf
 
 
■ 掃除
 
上記のスクリーンショットでエンドポイントとか晒してしまったので、ドメインを削除しておきます〜

 
 

Amazon Web Services クラウドデザインパターン実装ガイド
大澤 文孝
日経BP社
売り上げランキング: 4,972
Amazon Web Servicesクラウドデザインパターン設計ガイド
日経BP社 (2014-01-29)
売り上げランキング: 9,187

Next »