0

私はこのパターンを使用しています:

http://localhost:8983/solr/select/?q=hello&wt=json&json.wrf=?&indent=true&hl=true&hl.fl=title

次のように戻ります。

?({
    "response":{"numFound":100,"start":0,"docs":[
        {
            "id":"1234",
            "title":"Something Hello"
            ..
            ..
        },
        ... bla bla, to the end
    ]
})

明らか100 records foundにヘッダーに表示されていますが、アイテム{ bla bla... } は実際にはjust 10内部にあります。本当にインデックスの100項目です。それは本当に正確に100を示さなければなりません。

最初の10個のアイテムだけを表示していますか?
パターンで何を見逃しましたか?

4

1 に答える 1

4

100は、Solrが検出したレコードの総数ですが、デフォルトでは、一度に10個しか返しません。

URLに追加&rows=100して、100件すべての結果を一度に取得してみてください。

編集:実際のアプリでは、結果をページでフェッチすることをお勧めします。これにより、一度に無数の結果をフェッチしようとしてメモリが不足することはありません。その場合、startrowsオプションを組み合わせます。

たとえば、一度に20件の結果を取得するには:

  • 最初のリクエストは&start=0&rows=20

  • 2番目のリクエストは&start=20&rows=20

  • ...など、すべての結果を取得するまで続きます。

これらに精通している場合、これはSQLでOFFSETandキーワードを使用するのと似ています。LIMIT

于 2012-08-08T07:50:28.923 に答える