締切済み

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

  • すぐに回答を!
  • 質問No.261441
  • 閲覧数50
  • ありがとう数0
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 10% (60/582)

私はMySQLを使ってデータベースを作り、そこにデータをいれて情報を活用している者です。
MySQLのようDBで、あるいは他の方法でも構わないのですが、データを全文検索する方法が解りません。
1つのフィールドに検索をかけると全文検索にはなりませんし、1つのフィールドにすべてのデータを入れる方法という事なのでしょうか?
良い方法知っている方は教えて頂けないでしょうか?お願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全3件)

  • 回答No.1
レベル12

ベストアンサー率 41% (245/593)

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

お礼率 10% (60/582)

申し訳ないです。
補足の説明を致します。
1つのテーブルの1つのフィールドから検索をするのではなく、すべてのテーブル、つまり全文検索を行ないたい場合はどのような方法をするのかという事でした。
いろいろなサイトで全文検索と称しフリーワードで検索が出来るようになっていますが、どのような仕組みで作られているのか解りません。
どうか良きアドバイスを教えて頂けないでしょうか?
お願いします。
投稿日時 - 2002-04-29 19:59:47
  • 回答No.2
レベル11

ベストアンサー率 38% (114/297)

こんにちは。

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

ベストアンサー率 0% (0/0)

全てのフィールド(複数フィールド)への全文検索は,
select * from data
where name like '%キーワード%' or address like '%キーワード%'
などとorで指定すれば可能です。

ただし、Webページの様な長文になりかねないデータの場合、インデックス化が困難なので、お勧めできません。Chasen等を利用し、単語化してからDBを作ってそれに対して検索をかけるのが通常です。
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ