Solr スキーマに次の 2 つのフィールドがあります。
<field name="brand_id" type="string" indexed="true" stored="true" />
<field name="category_id" type="string" indexed="true" stored="true" />
ファセットを有効にしてリクエストを行うと (brand_id でファセット) http://example.com/solr/select?wt=json&facet=true&facet.mincount=1&facet.field=brand_id&q= * :*
ファセット出力はオブジェクト表記で返されます。
"facet_counts": {
"facet_queries": { }
"facet_fields": {
"brand_id": [
{"1350492":14},
{"1350578":12},
{"1350600":11},
{"1350617":8}
]
}
}
ただし、「category_id」をファセット フィールドとして使用して同じリクエストを繰り返すと、配列表記 http://example.com/solr/select?wt=json&facet=true&facet.mincount=1&facet.field=category_id&q= * :*が返されます。
"facet_counts":{
"facet_queries":{},
"facet_fields":{
"category_id":[
"230",20,
"259",13,
"154",12,
"249",11
]
}
}
オブジェクト表記のフォーマットを強制する方法はありますか? Solr 3.6 を使用しています
- アップデート -
XML 形式を使用すると、正しい結果が返されます。
<lst name="facet_counts">
<lst name="facet_queries"/>
<lst name="facet_fields">
<lst name="brand_id">
<int name="269115">136</int>
<int name="269394">110</int>
</lst>
<lst name="category_id">
<int name="1348814">228</int>
<int name="1350591">218</int>
</lst>