1

id最新の10行をDESC順で一覧表示したい

Sort sort = new Sort(new SortField[]{new SortField("id",SortField.INT,true)});
TopDocs topDocs=indexSearch.search(null,null,10,sort);//no need Query,only sort
...

Query パラメーターが null であるため、500 例外が発生しました

最適な方法で実装するにはどうすればよいですか?

ところで:idフィールドはNumericFieldです。次を使用して書き込みます:

new NumericField("id",Integer.MAX_VALUE,Field.Store.YES,true)
4

2 に答える 2

3

そのために を使用する必要がありますMatchAllDocsQuery

Lucene Query は、クエリ セマンティクスの仕様であるだけでなく、特定のクエリ タイプごとに最も効率的な実行戦略の実装でもある独特のオブジェクトです。そのため、この「no-op」に対しても特別なクエリが必要です

于 2012-05-04T12:41:06.783 に答える
0

ところで: 最新の X 行を検索する場合は、このドキュメントがリポジトリに追加された時刻を含む新しい日付フィールドを追加し、カウンター (ケースの id) に依存しない方がよいでしょう。既存のドキュメントを更新するか、Integer.MAX_VALUE に到達するとどうなるか考えてみてください

于 2012-05-04T12:48:07.093 に答える