• 締切済み

ヤフーのような全文検索をする方法は?

私はMySQLを使ってデータベースを作り、そこにデータをいれて情報を活用している者です。 MySQLのようDBで、あるいは他の方法でも構わないのですが、データを全文検索する方法が解りません。 1つのフィールドに検索をかけると全文検索にはなりませんし、1つのフィールドにすべてのデータを入れる方法という事なのでしょうか? 良い方法知っている方は教えて頂けないでしょうか?お願いします。

  • aeic
  • お礼率10% (60/582)

みんなの回答

  • yarra
  • ベストアンサー率0% (0/0)
回答No.3

全てのフィールド(複数フィールド)への全文検索は, select * from data where name like '%キーワード%' or address like '%キーワード%' などとorで指定すれば可能です。 ただし、Webページの様な長文になりかねないデータの場合、インデックス化が困難なので、お勧めできません。Chasen等を利用し、単語化してからDBを作ってそれに対して検索をかけるのが通常です。

  • noopee
  • ベストアンサー率38% (114/297)
回答No.2

こんにちは。 全文検索のシステムを構築するのは非常に大変です。 aeicさんの条件をすべて満たすかどうかは分かりませんが、namazuを使用してみてはいかがでしょうか? MySQLでも使えるかどうかは分かりませんが、PostgreSQLには使用できました。

参考URL:
http://www.namazu.org/
  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.1

質問の趣旨が取れないのですが、フィールド内で前方後方一致検索をする、ということでしょうか? MySQLは触ったことがないのでわかりませんが、ワイルドカードを使って検索すればいいのではないでしょうか? SELECT * FROM table_a WHERE sel_a Like "%abc%"; Oracleでは%がワイルドカードとなり、 sel_aの中に'abc'という文字列があれば検索対象になります。

aeic
質問者

補足

申し訳ないです。 補足の説明を致します。 1つのテーブルの1つのフィールドから検索をするのではなく、すべてのテーブル、つまり全文検索を行ないたい場合はどのような方法をするのかという事でした。 いろいろなサイトで全文検索と称しフリーワードで検索が出来るようになっていますが、どのような仕組みで作られているのか解りません。 どうか良きアドバイスを教えて頂けないでしょうか? お願いします。

関連するQ&A

  • DB全文検索について

    このたび、この「教えてGoo」「オンラインショップ』等ののような検索システムを作ることになりました。 「教えてGoo」質問検索の欄にキーワードを入れると、検索されますが、おおよそ40万件の質問や回答の中からすぐ検索結果がでてきます。そのままWhere句で検索してるはずないと感じました。このような全文検索系をデータベースでやる場合のテーブル構成等のテクニックをお教えいただけないでしょうか。よろしくお願いいたします。使用するDBはMySQLです。

  • データベース内の情報を検索できるフリーの日本語全文検索システムを探しています

    データベース内の情報を検索できるフリーの日本語全文検索システムを探しています。 具体的には、ブログのように、テキストを入力するとページが生成されるような仕組みをPHPで作っています。 入力された情報は、MySQLに保存しているのですが、生成されたページを検索したいのですが、よく使われるNamazuでは、静的HTMLしか検索してくれないようで、使えません。 kabayakiと言う、ライセンス費のかかるシステムは発見できたのですが、費用た大きくかかる為、フリーのものを探しています。 方法論として、生成するページをHTMLベースで吐き出せばNamazuでもできると思いますが、動的なページを直接検索できるシステムがあればと思うのですが、経験者の方、または、ご存知な方がいらっしゃいましたら、是非、お知恵を頂ければと思います。 宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • 全文検索プログラムを作りたい!

    今度、仕事で全文検索を行うプログラムを作ることとなりそうです。 もちろん日本語対応で、WordやExcelファイル内の文字列を検索する仕様です。 しかし、どのような方法でプログラムを作るのかチンプンカンプンです。 とりあえず今時点でわからないところが3つほどあります。 全文検索の技術に精通している方いましたら、是非アドバイスお願い致します。 (1).全文検索するAPI関数ってないでしょうか?   もしくは、ネット上でフリーで配布されている全文検索する   プログラムってないでしょうか? (2).全文検索するプログラムを作るのに適した   プログラム言語って何でしょうか? (3).市販されている全文検索システムは、インデックスファイルを作成し、   そのインデックスファイルから全文検索をしているようですが、   インデックスファイルを用意するメリットって何でしょうか?

  • 全文検索について質問です。

    全文検索について質問です。 歌詞掲載サイトのようにPDFファイル(内容はテキストです)をコピー、印刷ができないようにしたいと思い、セキュリティ設定をしてサイトに掲載したところ、全文検索ができないことに気づきました。 盗用防止の観点からセキュリティはかけたいけれど、全文検索できないのは不便だし…と悩んでいます。 セキュリティ設定と全文検索、この二つを両立させる方法はあるのでしょうか?? セキュリティ設定だけでなく、スクリーンリーダーやアクロバットのバージョンも関係しているようで、 なかなか最適な設定、方法が見つかりません。 ご存知の方がいらっしゃいましたら、どうぞご教示下さい。 よろしくお願いいたします。

  • リンク先のHPを全文検索したいのですが

    自分のホームページにリンクしているホームページのみを全文検索したいのですが、方法はあるでしょうか。 numazuだとサーバー内だけと聞いていますし、一般の検索エンジンを使うとリンクしていないホームページまで検索してしまうので、目的に合いません。 本格的なデータベースを構築すると費用がかかるので、簡易なデータベースあるいはフリーのソフトで行う方法があれば教えて下さい。 検索したいリンク先の件数は、約1000件を予定しています。

  • Access2003で全文検索文書管理したいのですがOLE型データの扱い方を教えて下さい。

    Access2003を使用して、全文検索文書管理データベースを作りたいと思います。OLE型のフィールドにWord、Excel、PDF、PowerPoint等のファイルをリンクし、これを一端開いて、この中のテキストデータをコピーし、同レコード内のメモ型フィールドに貼り付けています。 このテキストの取り出しを自動化出来ないでしょうか? 例えば、OLEフィールドにファイルをリンクしたら、非表示でこのファイルを開き、VBAで全選択、コピーを行い、ファイルを閉じ、クリップボードのデータをメモ型フィールドに貼り付けるということです。 データシートビューで、OLEフィールドを見ると、Adobe Acrobat Document、Microsoft Word 文書などの文字が表示されています。これらの文字を取得して、それぞれのアプリケーションを非表示で開き、全選択、コピー操作すればよいと思うのですが、登録されたOLE文書の種類の取得方法が分かりません。どなたか教えて頂ければ幸いです。 アクロバットのVBAでの扱い方も教えて頂ければ幸いです。

  • データ検索

    PHPからMYSQLのデータを検索するごくごく簡単なプログラムを作ってみようと思いました。 どうやらデーターベースにアクセスしていないような・・・・・??? 初心者です。申し訳ありませんがよろしくお願い致します。 <? $db = mysql_connect(); mysql_select_db('suzu'); //前画面からのパラメータ $ab = $_POST["Memb"]; //一致データ検索 $sql = " select * from Toshokan \n " . " where to_menb = '$ab' " ; $res = mysql_db_query($db,$sql); $arycol = mysql_fetch_array($res,MYSQL_ASSOC); print ("$ab"); print ("###"); print ($res["to_menb"]); print ("***"); print ("$FMemb"); print ("###"); print ($arycol['to_post1']); if ( $res == $FALSE ) { die("新規登録"); } else { die("更新"); } mysql_free_result ($res); mysql_close($db); ?> 結果 上記の print ($res["to_menb"]); print ($arycol['to_post1']); は出力されずにダミー状態です。 データーベースにアクセスされていないと考えたのですが、、、、、 どなたかご教授いただければ幸いです。

    • ベストアンサー
    • PHP
  • PHPorCGIでデータ検索

    こんにちは。 PHPで1万件弱のデータを3までのand条件で検索し検索結果を2つのフィールドを使ってソートするプログラムをひこうと思っています。 データの更新はCSVで行うのであくまでも検索のみです。 そこで問題なのは方法なのですが、 このような場合ですとやはりDBを使った方がいいのでしょうか?DBを使用するのだったらMySQLを考えていますが ホスティングサービスの関係でDBを使えないんです。 質問なのですが、 1.上記のような条件でデータをCSVで使って検索やソートができますか? 2.もしできるとしてDBと比べた時に開発のしやすさ、検索結果が表示されるまでのレスポンスはどれくらいの違いがありますか? 3.もしPHPが無理だとしたらCGIとCSVでは可能でしょうか?また可能でしたら2の比較はどうなりますか? 4.今回のような質問を比較しているサイト等ありますか?あったら教えていただけないでしょうか? 自分でも色々と探してみたのですが、どうにも見つからなくて困っています。 ご質問が色々とあって申し訳ございませんが、ご教授をよろしくお願いします。

    • ベストアンサー
    • PHP
  • PDFファイルの全文検索

    ネット上での文書保管について検討しています。 ある企業の検索ソフトを確認して下記のことに気づきました。 ファイル検索について     ワード、エクセル、パワポ他、PDF化したファイルでも     全てのファイルをファイル名で検索でる。 全文検索     ワード、エクセル、パワポ他のファイルなら、文章の     中の何がしかのキーワードで検索できるが、PDF化した     ファイルでは全文検索はできない。 知っている人ならきっと常識なのでしょう。    「PDFファイルでは全文検索はできない」    「PDFファイルならファイル名でないと検索できない」 ということは、書類を電子保管する場合、検索機能が重要になる のですが、PDFで保管したファイルでは全文検索はできない、 ということになります。常にファイル名で検索するということに なります。 この認識は間違いないのでしょうか。 あるいは、何か違うソフトを使えばPDFファイルでも全文検索 ができるのでしょうか。 どなたかご教示いただければ幸甚です。

  • accessのルックアップフィールドのような複数値を持つフィールドの機

    accessのルックアップフィールドのような複数値を持つフィールドの機能があるデータベースはOracle,MySqlみたいなDBにはないでしょうか? それかない理由でもあるのでしょうか?結構便利だとは思うんですが検索して調べてもなかなかでてこなかったです。