0

現在、本番環境で SQL Server 2005 を使用しており、100 万の製品データベースの e コマース サイト検索に全文検索を使用しています。可能な限り最適化しましたが (と思います)、検索時間はまだ 5 秒です。

(サイトのスクロールや PDF (など) のドキュメントのインデックス作成機能は必要ありません... サイト検索には「Google」の速度だけが必要です。)

dtSearch を購入するつもりでしたが、Lucene.net を使用するだけで、2 つのサーバー ライセンスで 2,500 ドルを節約できることに気付きました。

Lucene.Net は Web サイトの検索には適していないという投稿を読みました。

他の誰かが ASP.Net から Lucene.Net を使用しましたか? それは多くのメモリを必要としますか?

問題はありますか?

コメントはありますか?

4

2 に答える 2

1

私たちは長い間 Lucene を使用してきましたが、非常にうまく機能しています。1M を超えるエントリを持つデータベースがあり、Lucene クエリは数ミリ秒で返されます。

私たちにとっては、新しいエントリをいつでもデータベースに追加でき、インデックス作成とクエリの切り替えが比較的遅くなる可能性があるという点で、わずかな欠点があります (したがって、インデックスを更新した後の最初の検索には、通常の 5 ミリ秒ではなく 400 ミリ秒かかる可能性があります)。 . しかし、バッチ更新が可能な製品 Web サイトの場合は、ゴールデンである必要があります。

Lucene のもう 1 つの欠点は、一度に 1 つのプロセスしかインデックス ファイルにアクセスできないことです。複数の Web サーバーがある場合、別のプロセスで Lucene を実行する必要があります。私たちの場合は、データベース クラスターでサービスを実行しているだけです (そのため、障害が発生した場合にフェールオーバーが発生します)。Web サーバーは単純なソケット インターフェイスを介して接続し、クエリを実行します。

于 2010-03-11T22:15:50.520 に答える
1

別のオプションはSolrです。これは Lucene に基づいているため、非常に高速ですが、セットアップと使用が簡単ですが、別の Java プロセスとして実行されます。

于 2010-03-12T01:29:56.610 に答える