2009-07-14 18 views
1

よくある質問のようなデータベースに質問と回答を保存しています。ユーザーが検索できるようにしたいと考えています。たとえば、ユーザーは「bla bla blaの方法」を入力し、すべての単語を検索し、「the」、「to」、「is」などの一般的な単語を無視します。データベース内の単語を検索します。

これは私ですアイデア、それは良いと思うか、何か良いことを示唆していますか? とSQLデータベース内の1つの単語を検索する方法は?たとえば、テーブルからデータセットを取得してそれを繰り返し、必要な質問を取得する必要がありますか?

答えて

1

Lucine.net apiはApacheの提供する素晴らしいオープンソースAPIです。条件に応じて

+0

私は1つのテーブルと2つのフィールドだけで検索しています。私はそれを使用する方法を理解できないので、私はそれがちょっと複雑な参照してくださいこのライブラリを使用する価値があると思いますか? またはパフォーマンスが向上しますか? –

+0

私が知っているようにLucineは優れたパフォーマンスを持っています。データにインデックスを付けるので、Javaと.netのAPIを持っています。ここでは.netの例ですが、複雑ではありません。 .netを使用する場合、LINQ to Lucine.net APIがあります。 http://smartasses.be/2008/04/15/minimal-lucenenet-example/ http://www.codeproject.com/KB/library/IntroducingLucene.aspx http://www.codeplex.com/linqtolucene –

0

MS SQL Serverを使用している場合は、フルテキスト検索を調べることができます。 MSDN hereを参照してください。

0

インデックスを作成する問題は何度も解決されています。

Apache Luceneは非常に広く使用されており、テーブルのインデックスを作成できます。 主要データベースの多くには、フルテキストインデックス機能やアドオンがあります。

これらのすべてには、設定とヘッドスクラッチが必要ですが、十分に機能するはずです。

非常に小さな問題がある場合は、独自のキーワードインデックスを作成するのは楽しいプロジェクトです。 Googleの「逆インデックス」または「テキストインデックス」を使用して、ハッシュテーブルを作成してみましょう....

+0

私は1つのテーブルと2つのフィールドのみで検索しています。私はそれを使用する方法を理解できないので、私はそれがちょっと複雑な参照してくださいこのライブラリを使用する価値があると思いますか? またはパフォーマンスが向上しますか? –

0

Oracle Textがあります。テーブル上のテキストを強力に検索することができます。

関連する問題