2017-08-29 8 views
0

Solr 6.6を使用しており、bookmovieの2種類のドキュメントをインデックスに用意しています。私はページごとに10の結果を返す検索を実行したいと思います。最初の3つの結果は一致するbook文書であり、最後の7つの結果は一致するはずですmovie文書。次に、2ページ目に3つのbookドキュメントと7つのmovieドキュメントが追加されます。混在型のSolrクエリ結果

Solrクエリでこれが可能かどうかは知りませんか?私は2つの別々のクエリを避けようとしています.3つは1ページあたり3 books、1ページには7 moviesです。したがって、単一のクエリでこれを行うのが理想的です。

答えて

0

私たちはあなたが、ドキュメンテーションが映画か本であるかを示す「タイプ」フィールドを持っているとします。それで:

  • あなたが本当に望むのはdiversity in resultsです。これはLuceneのためのものですが、残念なことに上部にはSolrレイヤーがありません。
  • あなたの次に優れたものはGroupingです。必要以上のドキュメントを要求し、タイプ別にグループ化し、各グループに少なくとも3冊の書籍と7枚の映画があることを期待してください。書籍や映画が不足している場合は、いつでも2番目のクエリに戻ることができます。それはおそらく正常に動作します。
+0

はい、私は 'type'フィールドを持っています。私はグループ分けを調べました。私は 'group.limit'の設定を見ていますが、それは各タイプ(すなわち、5冊の本と5つの映画)で同じ量のドキュメントを引くようです。 1つのタイプの3つと別のタイプの7つを指定する方法はありますか? – matt

+0

いいえ、ちょうど7を求めてから、クライアント側で3冊に絞り込みます。 – Persimmonium

+0

これは結果の最初のページで機能しますが、その後はオフセットが正しくありません。 – matt