File tree 1 file changed +15
-3
lines changed
1 file changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -18,7 +18,6 @@ def build_response
18
18
# strip out only the fields for the item response
19
19
items = combine_highlights
20
20
facets = reformat_facets
21
-
22
21
{
23
22
"code" => 200 ,
24
23
"count" => count ,
@@ -89,8 +88,7 @@ def reformat_facets
89
88
facets = { }
90
89
raw_facets . each do |field , info |
91
90
facets [ field ] = { }
92
- # nested fields do not have buckets at this level of response structure
93
- buckets = info . key? ( "buckets" ) ? info [ "buckets" ] : info . dig ( field , "buckets" )
91
+ buckets = get_buckets ( info , field )
94
92
if buckets
95
93
buckets . each { |b | format_bucket_value ( facets , field , b ) }
96
94
else
@@ -110,4 +108,18 @@ def remove_nonword_chars(term)
110
108
transliterated . gsub ( /<\/ ?(?:em|strong|u)>|\W / , "" ) . downcase
111
109
end
112
110
111
+ def get_buckets ( info , field )
112
+ buckets = nil
113
+ # ordinary facet
114
+ if info . key? ( "buckets" )
115
+ buckets = info [ "buckets" ]
116
+ # nested facet
117
+ elsif info . dig ( field , "buckets" )
118
+ buckets = info . dig ( field , "buckets" )
119
+ # filtered facet
120
+ else
121
+ buckets = info . dig ( field , field , "buckets" )
122
+ end
123
+ buckets
124
+ end
113
125
end
You can’t perform that action at this time.
0 commit comments