Solr Group/Field Collapsing(パケットクエリ)
Solr Group/Field Collapsing(パケットクエリ)
転載は出典:http://eksliang.iteye.com/blog/2169458
http://eksliang.iteye.com/
一、概説
パケット統計クエリーはパケット統計(Facet)とは異なり、facetは単純な統計記録数であり、各グループのデータに実際のデータを返すことはできない.solrが提供するgroupingクエリーはこの問題を解決することができる.つまり、彼はグループ化できるほか、各グループのデータを返すことができる.
二、文法の紹介
参考例1
クエリー・パラメータは次のとおりです.
結果は次のとおりです.
Solr Groupパラメータリスト
パラメータ
パラメータの意味
group
(true/false)パケットクエリーを開くかどうか
group.field
groupフィールドは、リクエストにgroupを加える.fieldパラメータは、複数のフィールドをgroupbyする必要がある場合に宣言されます.このパラメータは、複数回宣言できます.
group.query
任意の条件をグループ化してクエリーを統計できます
group.limit
返されるデータのエントリ、デフォルトは1 3です.
group.offset
オフセット量、上のグループについて.limitは一緒にページングの効果を達成できます
group.sort
ツールバーの
group.main
(true/false)はtrueに等しく、最後のグループのみが返されます.queryクエリのパケットデータは、必ず最後のグループです.最後の条件がgroupならフィールドも効果がなく、他のパケット統計条件も機能しません.
三、参考例
例1:group.field複数のフィールドは同時にグループ統計クエリーのプレゼンテーションを行い、クエリーパラメータは以下のようになります.
結果は次のとおりです.
例2:group.queryカスタム条件統計プレゼンテーション、リクエストパラメータを以下に示します.
結果は次のとおりです.
例3:group.mainパラメータのデモ、リクエストパラメータは以下の通りです
結果は次のとおりです.
例4:group.mainパラメータのデモ、リクエストパラメータは以下の通りです
戻り結果は以下のようになり、groupが加わるため、他のgroup統計条件が機能しなくなることがわかる.main=true
転載は出典:http://eksliang.iteye.com/blog/2169458
http://eksliang.iteye.com/
一、概説
パケット統計クエリーはパケット統計(Facet)とは異なり、facetは単純な統計記録数であり、各グループのデータに実際のデータを返すことはできない.solrが提供するgroupingクエリーはこの問題を解決することができる.つまり、彼はグループ化できるほか、各グループのデータを返すことができる.
二、文法の紹介
参考例1
クエリー・パラメータは次のとおりです.
q=*:*
&group=true
&group.field=price
結果は次のとおりです.
Solr Groupパラメータリスト
パラメータ
パラメータの意味
group
(true/false)パケットクエリーを開くかどうか
group.field
groupフィールドは、リクエストにgroupを加える.fieldパラメータは、複数のフィールドをgroupbyする必要がある場合に宣言されます.このパラメータは、複数回宣言できます.
group.query
任意の条件をグループ化してクエリーを統計できます
group.limit
返されるデータのエントリ、デフォルトは1 3です.
group.offset
オフセット量、上のグループについて.limitは一緒にページングの効果を達成できます
group.sort
ツールバーの
group.main
(true/false)はtrueに等しく、最後のグループのみが返されます.queryクエリのパケットデータは、必ず最後のグループです.最後の条件がgroupならフィールドも効果がなく、他のパケット統計条件も機能しません.
三、参考例
例1:group.field複数のフィールドは同時にグループ統計クエリーのプレゼンテーションを行い、クエリーパラメータは以下のようになります.
q=*:*
&group=true
&group.field=price
&group.field=brand
&rows=2
結果は次のとおりです.
例2:group.queryカスタム条件統計プレゼンテーション、リクエストパラメータを以下に示します.
q=*:*
&group=true
&group.query=price:[0 TO 3000]
&group.query=price:[2000 TO *]
&group.limit=2
結果は次のとおりです.
例3:group.mainパラメータのデモ、リクエストパラメータは以下の通りです
q=*:*
&group=true
&group.query=price:[0 TO 3000]
&group.query=price:[2000 TO *]
&group.field=price
&group.main=true
結果は次のとおりです.
例4:group.mainパラメータのデモ、リクエストパラメータは以下の通りです
q=*:*
&group=true
&group.field=price
&group.main=true
&rows=1
戻り結果は以下のようになり、groupが加わるため、他のgroup統計条件が機能しなくなることがわかる.main=true
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">2</int>
<lst name="params">
<str name="q">*:*</str>
<str name="group.field">price</str>
<str name="group.main">true</str>
<str name="group">true</str>
<str name="rows">1</str>
</lst>
</lst>
<result name="response" numFound="9" start="0">
<doc>
<str name="id">a001</str>
<str name="brand"> </str>
<float name="price">1100.0</float>
<date name="birthday">2014-11-06T09:15:00Z</date>
<str name="remark"> A001</str>
<long name="_version_">1487193657358417920</long>
</doc>
</result>
</response>