読者です 読者をやめる 読者になる 読者になる

伸縮自在の愛 (6)

前回の更新以後、Elasticsearch + Railsで詰まった+解決したポイントをいくつか。まず、検索は標準で10件しか結果が返ってこない。いちおうこのようにすると取得件数を増やすことができるんだけれども件数を増やせば増やすほど重くなるので避けたいところ。…

伸縮自在の愛 (5)

今までelasticsearchの記事で当たり前のようにAnalyzerAnalyzerといってきたが、Analyzerとはそもそも一体何なのだろうか?その答えは、Source Textに対して…1. Char Filterで文字列を操作する ex) たとえば、を削除、'&'を'and'に変換する2. Tokenizerでト…

伸縮自在の愛 (4)

elasticsearchの使い方について調べると、英語の情報では英語の検索をする用の情報しか出てこない。一方で日本語の情報では日本語の検索をする用の情報ばかり。"世界"の"中心"の"日本人(ジャパニーズ)" 用のサービスであったとしても日本語と英語のコンテン…

伸縮自在の愛 (3.1)

これまでのまとめとして、ArticleとUserでelasticsearchに関する部分を取り出すとこんな感じになる。 チューニングして検索が「うまくいく」ようにしていく必要こそあれ、基本的にはこんなんで動いてしまう。しかーし、テストを書くのが大変なのである。

伸縮自在の愛 (3)

インデックスをはる準備ができたので、実際にインデックスを構築してみる。 いきなりだけども、こんな感じでクラスメソッドを実装した。まず、最初のbegin部分でインデックスを削除し、次の部分でマッピングを定義。前回定義したインデックス名前とセッティ…

伸縮自在の愛 (2)

elasticsearchが使えるようになった。次はインデックスを構築する。特定テーブル内の情報だけ検索できればいいなら簡単だけど、そんなイージーな事例はそうない。たとえば「ArticleはUserにbelongs_toで、Articleを所有しているユーザー名でも検索できるよう…

伸縮自在の愛 (1)

最近、バイト先でElasticsearchを触っている。今まで、「記事」をついているタグ別に表示する機能を実装するのにacts-as-taggable-onというGemを使ってきた。これはRailsでは定番のGemらしくて、 確かにこいつを使えばタグというもので想像される機能をほぼ…