私は LucidWorks と Solr を使用して、さまざまな種類のページを持つ大規模で多様な Web アプリに検索を実装しています。この仕様では、ページ タイプごとにグループ化された単一の検索結果ページと、各グループの検索結果のページネーションが必要です。
このようなもので簡単にグループ化できます
q=[searchterm]&group=true&group.field=[pagetypefield]
適切にグループ化された結果を返します。
私もできる:
q=[searchterm]&group=true&group.field=[pagetypefield]&group.offset=[x]&group.limit=[y]
これにより、結果 x から始まるグループごとに y の結果が得られます
ただし、グループ 1 の結果 0 ~ 4 とグループ 2 の結果 5 ~ 9 を取得したい場合があるため、グループごとにオフセットと制限を指定できるようにしたいと考えています。
の値[pagetypefield]
は既知の値のリストであるため、次のような複数のクエリを実行できます。
q=[searchterm]&group=true&group.query=[pagetypefield]:[value]&group.offset=[x]&group.limit=[y]
の既知の値ごとに[pagetypefield]
または group.offset を使用せず、私の例では両方のグループの結果 0-9 を取得し、必要のない結果を破棄します。
どちらのオプションもあまり好きではありませんが、グループごとにオフセットと制限を指定する方法がドキュメントにありません。
どんなアドバイスでも大歓迎です。