1

次のクエリについて考えてみます。

/solr/select?q=linux

次のXML応答を返します。

<response>
    <lst name="responseHeader">
        <int name="status">0</int>
        <int name="QTime">0</int>
        <lst name="params">
            <str name="q">linux</str>
        </lst>
    </lst>
    <result name="response" numFound="10943" start="0">

ここから、クエリに一致する10943のドキュメントがあることがわかります。ただし、グループ化を使用した同じクエリについて考えてみます。

/solr/select?q=linux&group=true&group.field=tag

次のXML応答を返します。

<response>
    <lst name="responseHeader">
        <int name="status">0</int>
        <int name="QTime">10</int>
        <lst name="params">
            <str name="group">true</str>
            <str name="group.field">tag</str>
            <str name="q">linux</str>
        </lst>
    </lst>
    <lst name="grouped">
        <lst name="tag">
            <int name="matches">10943</int>
            <arr name="groups">
                <lst>
                    <str name="groupValue">linux</str>
                    <result name="doclist" numFound="1224" start="0">

ここから、クエリを満たす10943個のドキュメントがあることがわかります(明らかに、最初の例と同じクエリです)。また、「linux」タグが付いた1224個のドキュメントがあることもわかります。ただし、一致するグループがいくつあるかについては言及されていません。したがって、必要なページ数を計算する方法がないため、ページ付けを使用してタグのリストを表示することはできません。

利用可能なページ付けのページ数を計算するために、返されるグループの数をどのように取得できますか?

ありがとう。

4

1 に答える 1

4

グループの数については、groups.ngroupsリクエストパラメータを使用して、ページネーションのグループ数のカウントを提供します。

ドキュメント:-

group.ngroups
true/false
If true, includes the number of groups that have matched the query. Default is false.
于 2012-11-01T04:09:52.247 に答える