- ベストアンサー
検索システムでDBを使用しない物について
商品検索、レビュー検索、仕事検索と 多くの検索サイトがあると思います。 DBを使用しないで そのようなサイトを作成した場合 情報の管理は、手入力になるのでしょうか? (CSVとかも可能かとは思いますが…) やはり、普通検索サイトの構築には DBを使用すると考えてもよいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
たぶんサイト内でのデータ検索のことかと思いますので、その前提で書きますね。 >普通検索サイトの構築にはDBを使用すると考えてもよいのでしょうか? ですね。もちろんMysqlなど使わずにcsv等テキストファイルでも可能ではあります。 ただし、それだと閲覧者が検索するたびに、PHP等のプログラム側でファイルから一行づつデータを読込・分解し、たとえば商品検索なら 1万円以下かどうか、カテゴリはどうかなど確認して、該当するデータを抽出するプログラムを書く必要があります。 また、データが数百件程度ならよいのですが、数千~などとなれば、処理に時間がかかり、「なかなか検索結果が表示されない」ということになります。 Mysql等のRDBMSはデータを抽出するのが専門ですから 例えば「東京都内で、自給1,500円以上の事務または営業職」などはプログラム側ではたった1文で済みます。早くて簡単、しかも将来への変更にも適応しやすいですから使わない手はないですよ。 >情報の管理は、手入力になるのでしょうか? 手入力だと書き間違いがありますから、DBかcsvかに限らず、通常は管理用パネルを作成し、 そこで商品登録や削除などを行います。
その他の回答 (3)
- MARU4812
- ベストアンサー率43% (196/452)
「検索サイト」って言ってしまうとNo2さんの言うようなロボットを使って サイト管理者(管理会社)が検索用のデータを用意するイメージが強くなり ますね。 会員制の「転職サイト」とか「オークションサイト」ではユーザーが 定型フォームで情報を登録しますよね?これは「検索サイト」とは 言わないですが、質問文を読むとこっち寄りのように聞こえます。 結局、サイトの仕組み、用途によって使われる技術が変わるのに そこを玉石混合で捉えているのでは、答えも出ないと思います。 誰がどんなデータを入力するのか(用意できるのか)によって効率の いいものを考える事になるでしょう。必ず何かを使わないといけない とか、使われているとか、本末転倒な考え方だと思います。 未だ世の中に存在しない技術を自分で考え出して、それが効率が いいことだってあるのだから、この質問自体ナンセンスに感じます。
お礼
ナンセンスでですか…。 わかりました。 ご教授ありがとうございました。
- lupin-333333
- ベストアンサー率31% (294/933)
No1さんの言うとおり。質問者さんは、ちょっと誤解した考え方をお持ちのようです。 まず、検索サイトでは、ロボット http://search.yahoo.co.jp/search?b=1&n=10&ei=UTF-8&fr=ie8sc&p=%E6%A4%9C%E7%B4%A2%E3%82%B5%E3%82%A4%E3%83%88%E3%80%80%E3%83%9C%E3%83%83%E3%83%88%E3%81%A8%E3%81%AF が存在し、テキスト=>インデックス作成 となります。これらをCSVとして扱うか、あなたがDBと呼んでいる、 RDBMS のMS部分ですね、そこに登録して使うかは、単なる設計思想なので、どうでもいいことです。 しかし、どちらを選んでも、使用するのが検索エンジンです。RDBMSにも検索エンジンなるものがあり、同じように検索します。 たとえば、CSVをファイルとして読み込んで、C++とか, .Netとかの検索関数<=文字列検索で、検索したとします。 その仕組み自体を検索エンジンと言うことになります。 いずれにしても、どちらもインデックスの作成と、その効率化が、速度と正確さになり、その最適化が鍵をにぎっています。 なので、DBを使うか、そうでない方法をとまよわれているなら、 インデックスの 登録、更新、削除 等の操作性とか、可用性、冗長性、を考えると、RDBMSで最初から完璧に仕上がっている物を使うか、それらの仕組みを自作するかだけの違いです。 Googleは、そのへんの部分で、最新のものを開発し、成功したわけです。つまり、検索エンジンを開発したわけです。 これは、RDBMSにも昔からDBエンジンとして呼ばれていたものです。 ちなみに、HTMLもXMLもDBとして使えます(とすればDBとよんでいい)。それらから、テキストノードだけ抽出して、2番目にヒットした文字列は? なんて言う物を作ったとすれば、それが検索エンジンです。MS DOMを、VBSなどのスクリプトエンジンで作っても、C++で作っても同じです。 ということで、 >構築にはDBを使用すると考えてもよいのでしょうか? の回答は、そうです。しかし、検索エンジンは汎用の物をつかうか、独自開発か、市販のRDBMS又は、DBMSのものを使うかは、人、物、金、コンセプト次第ということです。
お礼
>>構築にはDBを使用すると考えてもよいのでしょうか? >の回答は、そうです。しかし、検索エンジンは汎用の物をつかうか、独自開発か、市販のRDBMS又は、DBMSのものを使うかは、人、物、金、コンセプト次第ということです。 これを確認させていただけただけでも助かりました。 情報ありがとうございました。
- duke_kimura
- ベストアンサー率39% (53/134)
たぶんDBとして想像されているのは、RDBMSのことだと思いますが、 データを蓄積したCSVもDBのひとつです。 >> やはり、普通検索サイトの構築には >> DBを使用すると考えてもよいのでしょうか? データは規則性を持っていたほうが扱いやすいので、自然とそうなります。
お礼
情報ありがとうございます。 >> DBを使用すると考えてもよいのでしょうか? >データは規則性を持っていたほうが扱いやすいので、自然とそうなります。 やはりそうなのですね。 参考になりました。 ありがとうございました。
お礼
>Mysql等のRDBMSはデータを抽出するのが専門ですから 例えば「東京都内で、自給1,500円以上の事務または営業職」などはプログラム側ではたった1文で済みます。早くて簡単、しかも将来への変更にも適応しやすいですから使わない手はないですよ。 DBを使うと1行で済むのはわかるのですが、 >使わない手はないですよ。 やっぱり使った方がいいという意見が聞けてほっとしました。 情報ありがとうございました。