ウェブサイトに検索機能を実装したいと考えています (SO に似たものを想定)。そのようなものに Google 検索を使用したくありません。
私の質問は次のとおりです:
これをどのように実装すればよいでしょうか?
私が知っている方法は 2 つあります。
- ユーザーがクエリを実行すると、アプリケーション内のすべてのデータベースを検索します。
- 所有するすべてのデータをインデックス化し、別の場所に保存して、そこからクエリを実行します (Google が行っているように)。
どちらの道を行けばよいか誰か教えてもらえますか? 長所と短所は何ですか?
もっと良い方法はありますか?
ベストアンサー1
luceneを使用する、
java ドキュメント
Apache Lucene は、完全に Java で記述された、高性能でフル機能のテキスト検索エンジン ライブラリです。フルテキスト検索 (特にクロスプラットフォーム) を必要とするほぼすべてのアプリケーションに適したテクノロジです。
これは Java と .net で利用できます。また、Zend フレームワーク モジュールの形式で PHP でも利用できます。
Lucene はあなたが望んでいたこと (検索されたアイテムのインデックス作成) を実行します。Lucene インデックスを追跡する必要がありますが、パフォーマンスの点ではデータベース検索を行うよりもはるかに優れています。ちなみに、SO 検索は Lucene によって実行されます。:D