2

mySQLデータベースを介して自分のWebサイトの検索を作成しようとしています。私はSphinxを使い始めましたが、インデックスがリアルタイムで更新されないことを知るのをためらっていました。ほぼリアルタイムで更新されていることは確認しましたが、新しいコンテンツが1分ごとにデータベースに追加されるため、これが私のシステムにうまく適合しないのではないかと心配しています。この新しいコンテンツはすぐに追加する必要があり、更新のたびにインデックスを再作成するのは奇妙に思えます。

現在、Lucene上に構築されたSolrを調べていますが、データベース検索ではなくファイルベースの検索であるため、これも私のニーズに合わないようです。また、比較的単純な検索用に構成するのは非常に多くのように見えます。

このstackoverflowの質問も見つかりましたが、いくつか問題がありました。1つ目は、1つのフィールドだけでなく、多くのフィールドを検索していることです。また、純粋にSQLで実行された検索は、データベースに対して遅すぎる可能性があることを心配しています。データベースには、それ以上ではないにしても、数十万のレコードが格納されることが期待されます。

私が言及したソフトウェアまたは私が言及していないソフトウェアについて誰かが意見を持っている場合は、すべてのアイデアを歓迎します。違いがあれば、バックエンドにJavaを使用しています。ありがとう。

4

2 に答える 2

3

基本的に、データベースは単なるファイルです。ファイルベースの検索の何が問題になっていますか?

Solrは要件を満たしているようです。彼らがダウンロードで提供するセットアップ例を使用する場合、始めるのにそれほど多くはありません。あなたがする必要があるのはあなたのデータのためにあなたのschema.xmlを設定することです。

リアルタイム検索を取得するには、ドキュメントをsolrインデックスにリアルタイムで追加する必要があります。これは、Solrのサーブレットの1つに簡単に投稿することも、SolrJ(Javaクライアント)を介して行うこともできます。

多くの列を検索する場合、Solrはデータベースよりも効率的で使いやすいと思います。また、ファセットやステミングなどのより豊富な機能セットも提供します。

于 2009-12-23T22:28:56.370 に答える
2

プレーンなLuceneとXapianもあります---後者にはPHPバインディングがあります。

于 2009-12-24T00:05:47.270 に答える