@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

ASP.NETでのサイト内検索について

1
投稿者投稿内容
でかちょ
会議室デビュー日: 2007/11/07
投稿数: 13
投稿日時: 2008-10-15 16:44
何時もお世話になっております。

参照元記事の右上のような、サイト内検索を実装したいのですが、
どのような手法がありますでしょうか?

@テキストボックスにて検索ワードを入力。
A検索実行後、ページ中央部へ該当ワードを含むページへのリンクと、
 ちょっとした本文表示。できれば、該当ワードはボールドや文字色の変更も。

実装したいのは上記になります。

そもそも、検索対象の情報はどこに持っているのかなど、さっぱりです。
ざっくりとした質問で恐縮ですが、宜しくお願い致します。

[ メッセージ編集済み 編集者: でかちょ 編集日時 2008-10-15 16:45 ]

[ メッセージ編集済み 編集者: でかちょ 編集日時 2008-10-15 16:47 ]
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-10-15 17:39
参照元のページはBlog系のページですから、内容はデータベース内に持っているでしょうね。
表題と本文といった感じでテーブル内に分けて持っていそうですが、その両方に対して入力された検索ワードで検索するSQL文をくみたて、結果を表示する形になるでしょう。

該当ワードを含むページへのリンク、はデータベースにある内容をどのようにページとして表示しているかによりますね。
このあたりはどうすればBlogができるか簡単なサンプルを探してみたほうがいいかも。

本文表示や該当ワードの部分の変更については自分で必要なHTMLをくみたてれば実現できます。

と、答え方もざっくりになりますね。


そもそもBlogのようなサイトを作ろうとしたら、もともとのデータ入力をどうするか、から考えないといけないです。
まず、どんなサイトを作りたいのか、そこから考えたほうがよいかと。
でかちょ
会議室デビュー日: 2007/11/07
投稿数: 13
投稿日時: 2008-10-15 17:58
どっとねっとふぁん様
ご返答有難う御座います。

作成したいのはBlogではなく、普通のWebサイトですので、データは固定です。
言葉足らずで申し訳ありません。

データベースにページの表示情報を持つとなると、テーブルの項目などは、
それなりのサイズを用意しないといけなそうですね。

あまりDBには強くないので、調べてみます。

他にもアドバイス等ございましたら、宜しくお願い致します。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-10-15 18:17
> 作成したいのはBlogではなく、普通のWebサイトですので、データは固定です。

aspxあたりに直接書き込んでしまって、それを検索、という方法もないわけではないと思いますが、タグと本文の切り分けとかを考えると面倒そうですね。
できるのであればデータ(本文)の部分と表示用のaspxは切り分けたほうが検索は楽でしょう。

> テーブルの項目などは、それなりのサイズを用意しないといけなそうですね。

SQLサーバの場合だったら項目の型をTextにしてしまう、といった方法がとれると思います。
また、データベースを使わず、XMLを使ってそこに表示情報を持ち、検索もXMLに対して行う、といった方法もあるでしょうね。

ページが動的に生成されるものでないなら、Googleのサイト内検索を使うような形にしてしまうのが一番簡単かもしれませんが(w
でかちょ
会議室デビュー日: 2007/11/07
投稿数: 13
投稿日時: 2008-10-16 14:36
どっとねっとふぁん様
ご返答有難う御座います。

データベースはOracle 10gになりそうな感じでして、
データ型Textが使えないんですよね。

ただ、仕様を確認したところ、データ固定といいつつ、稀に修正があるようです。
メンテ用機能の作成は構想外のようなので、手動でメンテする場合を考慮し、
XMLにする形をベースにしたいと思います。

ご指摘、アドバイスありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)