0

現在のクエリの例 (「test」を検索):

q=lastName:test*^10 firstName:test*^9 userLastNameLowerBoost:test*^8      
  userFirstNameLowerBoost:test*^7 member:test*^6 title:test*^5 
  message:test*&start=0&rows=5

現在、私の solr インデックスはいくつかのタイプの結果 (人、メッセージなど) を取得しており、私の結果にはブースト順に並べられた最初の 5 つの結果だけが含まれています。しかし、結果としてすべての種類の数も必要です (例: 人数 = 40、メッセージ数 = 54、..)。「開始」と「行」でクエリを制限しない場合、Javaでそれを数えることができますが、これはページネーション(結果全体のロード)の意味ではありません。タイプをカウントするサブクエリを追加できますか (fieldname 'documentType' --> 1 = person 、2 = messages など)。

私が何を望んでいるのか理解していただければ幸いです:)

4

3 に答える 3

1

&facet=true&facet.field=documentType&facet.mincount=1追加するだけで、インデックス全体の documentTypes の数を取得できるはずです。

于 2012-11-13T15:58:11.423 に答える
0

here で説明されているように、フィールドのグループ化を使用できます。または、ファセット検索、クエリのタイプによって異なります

于 2012-11-13T08:07:54.073 に答える
0

各ドキュメントにフィールドを追加して、PERSON、MESSAGE などのタイプ別に入力することができます。
次に、このフィールドをファセットして、結果セット内の各タイプのカウントを得ることができます。

于 2012-11-13T09:09:58.603 に答える