全文検索を追加しました。現在、全文検索エンジンは多数あり全文検索をネットショップに追加のは技術的には簡単ですが、プロトタイプを作りネットショップの方に評価して頂き議論を重ねサービスとしての完成度を高めるのに苦労しました。Groonga(PGroonga)Groongaは高速で使い易い全文検索エンジンです。'全文検索'のようにSQLで全文検索が実行できます。サイズ等の文字列を検索して、マッチしたものを表示すれば完成だと思っていましたが、プロトタイプをネットショップの方に評価してもらうと。商品名やカテゴリーにマッチする検索結果は商品説明文にマッチした結果より優先して先に表示して欲しいとの要望が出ました。商品説明文には色々な言葉が書かれて、いっけん検索キーワードとは関係ない商品がマッチしてしまいます。このような事を避けるために検索用のデータを複数用意し、優先順の高いデータがマッチした商品から検索結果に表示されるようにしました。この優先順をどうするかで何度もプロトタイプを作り直しました。ショップは輸入した乗馬用品を販売しているので、商品名やメーカー等は英語表記とカタカナ表記の両方が検索ワードとして使われます。ように漢字・カタカナも使われるますし、女性・レディースのような同義語も検索ワード使われます。このような同義語を使っても同じような検索結果が得られるように、シソーラス(同義語)辞書機能を用意しました。ショップでは多数の乗馬ウエアを扱っています。ウエアを検索する際に色名はよく使われる事が予想できます。商品の色名には「シェンナ」、「ルビー」のような微妙な色合いを現す単語が使われていますが、大筋ではどちらも「赤」です。このような大筋の色名はシソーラスで実現出来ると思いました。色名が重要である事は分かっていたので、シソーラスではなく色名に関しては、「アイスブルー」のような具体的な色名は「水色」、「青」というグループに属するという色グループ辞書を用意する事で対応しました。まとめこのように、検索エンジンという難易度の高い技術は既存のライブラリーを使う事で用意に実現できますが、アプリケーションの特性を考え良いのも作るには作り込みが必用になります。そのような作り込みは開発者だけでは無理で、ユーザーや運営者の意見を取り込む必用があります。それにはプロタイプを作り評価してもらうことが重要です。開発者としては、そのような環境を準備する事が重要な選択だと思います。Railsを採用し、5年前からサーバーもクラウドに移行し、プロタイプ・評価の繰り返しが用意に出来るようにした事は良い選択だったと思っています。