Lucene
ページングを実装する必要がある Web アプリを作成しています。ここで、コレクターでのオフセットの使用に関するさまざまな例を見てきました。しかし、それらは古いようです。 Lucene 3.5
(または3.6はどれを思い出せません)これを追加したと思います。IndexSearcher
メソッドを見てきましたsearchAfter
。ただし、最後に渡す必要がありますScoreDoc
。これは Web アプリであるため、最後の結果を (ScoreDoc オブジェクトとして) 次の要求に渡す方法がありません。それで、私の質問は、これは通常どのように行われるのですか?
私が実際に思いついた唯一の方法は、構築時に一意のキーをインデックスに追加することです。次に、次のページを取得しようとするときに、そのキーを post パラメーターとして渡します。次に、そのキーを検索してドキュメント ID を取得し、そのドキュメントをプルして searchAfter で使用する必要があります。ドキュメント ID が同じであることに依存できないため、独自の一意のキーを使用する必要があると思います。私はこれで正しいですか?
より良い方法があれば、私に知らせてください。これは Lucene での私の最初の試みです。