Webシステム開発・プログラミングに関連した他の仕事を探す
見積もり募集の結果
見積もり募集の内容
-
依頼の目的・背景
-
お仕事詳細をご覧頂きましてありがとうございます!
今回、外注仕様文案現在開発中のサービスのサブシステムとして、汎用の全文検索システムの導入・提案をお願いしたく募集致します。
◆導入意図
将来的にはAWS CloudSearchの導入を検討していますが、開発の都合上、初期段階ではより小規模なシステムで代替できる低コストなシステムを求めています。
このため、CloudSearchの導入コストより月額コストが高くなるシステムは受け入れられません。ご了承ください。
参考までに、search.m1.small東京リージョンは$0.082/1時間とのことですので、月額7000円弱になるようです。
◆要求の概要
・「登録API」で記事を登録し、「検索API」に日本語を入力すると記事IDのリストが帰ってくるシステムを要求します。想定APIは後述します。
・導入手順書を納品いただきます。
ソースコードなど開発いただいた部分については、検収の際に細かくヒアリングさせていただくことになると思います。予め、納期上ご考慮いただきますようお願い致します。
・環境はAmazon Web Serviceで必要なリソースを調達いたします。
月額は2000円未満に収めていただきます。t2.micro一台で賄える範囲でご検討ください。
LambdaとDynamoDBあたりで安く実現できるとなお望ましいです。
開発用のIAMをご用意いたします。
・必要に応じてBitbucketでプライベートgitリポジトリをご用意します。
・スケールしないシステムで構いません。
低コストで調達できる範囲で、可能な限り性能を考慮してください。
・プログラム言語は問いません。保守の都合上、可能な限りユーザーベースの多い言語を選択していただけると幸いです。
・機能を満たせるものであれば、既存のソフトウェアの組み合わせで構いません。
GPL組み込みなどでソースコードを公開する必要が生じても、本システム単体で済む場合であれば問題ありません。
◆想定するAPIの概要
こちらの要求する機能を満たせば、以下のAPIに従う必要はありません。参考例として御考え下さい。
【機能方針】
特に理由がなければ、webAPIで設計していただきます。応答はJSONでお願いします。
もちろん利点があればこの限りではありません。他の選択肢のご提案を歓迎いたします。API設計方法に要求はありません。混乱なく動かすことができれば問題ありません。認証などセキュリティ対策は一切考慮しなくて構いません。
本システムは、本番運用時はVPCなどで閉じ、特定の別システムからのアクセスのみを許容する方針で考えています。
【想定するAPI】
・登録API
想定例: http://example.com/add?body=topictitle&id=11&createdAt=1474528183&pv=123
上記例はgetクエリとして記載していますが、APIの設計は任せます。
全文検索の対象となる全文と、記事のID、登録日時、メタ情報としてPVを含みます。
※メタ情報は今後増える可能性があります。拡張可能な仕様をご提案ください。
・検索API
想定例: http://example.com/search?q=test&count=20&page=3&sortMode=createdAt
検索結果として記事IDを返してください。
検索結果はJSONでn件単位で取得できるように設計してください。
記事の検索結果は全文検索システム上の検索スコアの他、「記事の登録日時(unixtimeを想定)」を優先した並び替え、「PV数」を優先した並び替えが要求されます。
※複数キーワードでの検索に対応可能かご検討ください。
※形態素解析による転置インデックスだけでは予期せぬ取りこぼしが発生するため望ましくないと考えています。N-gramによる分割などで取りこぼしのない仕様をご提案ください。
・更新API
想定例: http://example.com/update?id=11&pv=124
記事には並び替えのためのメタ情報を複数設定できるようにしていただきます。
具体的には「記事のPV数」をメインシステム側でカウントしており、定期的にこちらのサブシステムに通知、更新する必要があります。
◆テストケースについて
青空文庫から引用したサンプル登録パターンを準備します。
どういった検索結果が得られれば理想的か、という目安としてご利用ください。
もちろんアルゴリズムによって結果が揺れることは想定しています。
不自然な検索結果が混ざることも多少であれば許容できます。
あまりに使い物にならない検索結果になってしまう場合は、改善方法を相談させていただきます。
以上です。
ご検討頂けますと幸いです!
-
開発の進捗状況
-
ランサーに相談して決めたい
-
開発の継続性
-
ランサーに相談して決めたい
-
重視する点
-
予算、納期、クオリティ、柔軟な対応、こまめな連絡
-
希望開発言語
-
ランサーに相談して決めたい
-
フレームワーク
-
ランサーに相談して決めたい
-
補足説明
-
設定なし
-
キャンセル理由:発注の必要がなくなったため
この度はお仕事をご覧いただきまして誠にありがとうございます。
検討させていただきました結果、今回の相談・応募につきましては別契約者様が確定したため、
契約を見送らせていただくことになりました。
大変申し訳ありませんが、またの機会にお願いできれば幸いです。
今後とも、どうぞよろしくお願いします。
この仕事に似たWebシステム開発・プログラミングの他の仕事を探す