pageIds (UniqueKey) に従って索引付けされた Lucene ファイルがあります。1 つのドキュメントに複数のページを含めることができます。ユーザーが検索を実行すると、検索条件に一致するページが表示されます。
Lucene.Net 2.9.2 を使用しています
2 つの問題があります...
1- ファイル サイズは約 800 GB で、1 億 3000 万行 (ページ) があるため、検索時間が非常に遅かった (すべてのクエリに 1 分以上かかりました (一度に限られた行しか返さなければなりません)。
パフォーマンスの問題を克服するために、パフォーマンスの問題を解決した SOLR に移行しました (シャーディングなどの SOLR によって提供される追加機能を使用していないため、これは非常に奇妙です。したがって、Lucene.NET 2.9.2 は実際には同等ではない可能性があります)。同じバージョンの JAVA と比較した場合のパフォーマンス??) しかし、別の問題が発生しています...
2- 個々の「lucene ドキュメント」は 1 ページですが、「実際のドキュメント」でグループ化された結果を表示したいと考えています。返される結果の数は、「ページ」ではなく「実際のドキュメント」に基づいて構成できる必要があります (ユーザーに表示したい方法です)。
したがって、20 個の「実際のドキュメント」と、検索条件に一致するすべてのページが必要だとします (1 つのドキュメントに 100 ページがあり、別のドキュメントに 1 ページしかない場合は関係ありません)。
SOLR フォーラムから得た情報から、それは SOLR-236 パッチ (フィールドの崩壊) によって達成できるということでしたが、トランクでパッチを正しく適用できませんでした (多くのエラーが発生します)。
これは私にとって本当に気の毒なことで、あまり時間がないので、誰かがこのパッチを適用した SOLR 1.4.1 バイナリを送ってくれるか、他の方法があれば教えてください。
とても感謝しております。ありがとう!!