使って検索できるようにしています。ワークフローからインクリメンタルサーチして目的の記事を開いたり、あと地味にブログ内の静的ページとして検索ページを用意したりしています。今回検索ページの改修に踏み切ってみたのでした。以下の点で改善されています。検索結果が大きく、見やすく表示されるようになった。記事の概要を出すようにした。記事のサムネイル画像を出すようにした。記事の投稿日時を出すようにした。検索結果の数、検索にかかった時間を出すようにした。ワークフローを作った。あれなんだっけ」みたいに以前自分で調べたことを改めて参照したいことがちょくちょくあるので作りました。ほうがブラウザを開くまでもなくシュッと使えるのでワークフローにしました。全文検索できるようにしているので、それを叩いている感じです。公式クライアントを使っています。clientこのブログの記事検索にAlgoliaを使っています。Algoliaはjsonでデータをクラウドにアップロードし、APIで検索したいキーワードを投げて結果を得ることの出来るサービスです。API以外にも一通り有名どころの言語のライブラリを提供しています。今回はGolangのライブラリを使用して、私のブログの記事を検索してjsonで結果を得るところまでやってみます。準備としてとりあえずalgoliasearchをインストールしておきます。Startに従ってサンプルデータの検索をやってみます。Startではデータを登録する例から始まっていますが、今回はサンプルデータを手で直接Algoliaに登録しちゃいます。contactsという名前でIndexを作成します。登録したデータに対して検索を実行するコードを書いてみます。menu以前algoliaを使ってblogに検索窓を設置しました。無事検索出来るようになって嬉しいのですが、「検索結果7個はちょっと少ない...。」そこで検索結果を増やした所、「ドロップダウンメニューが画面外まで伸びてしまう...。」と言う問題に直面したので、ドロップダウンメニューをスクロールさてみました。意外に簡単で、CSSだけで出来ました。overflowを使い、ボックスが250px以上の場合はスクロールさせるようにしました。良いやり方なのかはわからんちん。検索結果は7個から21個にしました。Ghostで中途半端ながらにAlgoliaを使ったサイト内検索ボックスを設置してきました。Ghostで書いたように検索結果を強調表示してしまうがゆえに、urlにemタグが挿入されてしまうのが問題でした。正規表現でemタグを除去。思いつきでjsの文字列置換があるか調べたらあった!ので、それを使った。engineblogにサイト内検索を設置するために幾つか試してきたので比較する。試してきたのは以下の4つ。試してみた時のメモ(googleとghostHunterはメモってない...)。Algoliaでは大敗北しましたが、今回無理やり検索結果に一致したページに飛べるように半分なった!のでメモ。検索ボックスで検索した結果としてタイトルの文字列を返したい。そのタイトルはタイトルの記事へのリンクになって欲しい。検索ボックスの見た目を変えたい。トップページの記事一覧のように画面に合わせてボックスの大きさを伸縮したい。Free版を使っているので、algoliaのロゴを検索ボックス付近に設置しなければならない。AlgoliaというSaaSの全文検索エンジンが良さそう。ブログに設置できないか試してみた。Algoliaの設定自体はできたんだけど、それをうまくサイトに組み込んで検索結果から該当のページに飛ばす部分はユーザーに任されていて、そこで死んだ。やったところまではメモる。以下の内容はだいたいチュートリアルの流れに従っている。