File tree Expand file tree Collapse file tree 1 file changed +20
-15
lines changed
Expand file tree Collapse file tree 1 file changed +20
-15
lines changed Original file line number Diff line number Diff line change @@ -222,28 +222,33 @@ def filters
222222 if filter [ 0 ] . include? ( "[" )
223223 original = filter [ 0 ]
224224 facet = original . split ( "[" ) [ 0 ]
225- path = facet . split ( "." ) . first
225+ nested = facet . include? ( "." )
226+ if nested
227+ path = facet . split ( "." ) . first
228+ end
226229 condition = original [ /(?<=\[ ).+?(?=\] )/ ]
227230 subject = condition . split ( "#" ) . first
228231 predicate = condition . split ( "#" ) . last
229- # this is a nested field and must be treated differently
230- nested = {
231- "nested" => {
232- "path" => path ,
233- "query" => {
234- "bool" => {
235- "must" => {
236- "term" => {
237- # "person.name" => "oliver wendell holmes"
238- # Remove CR's added by hidden input field values with returns
239- facet => filter [ 1 ] . gsub ( /\r / , "" )
240- }
232+ query = {
233+ "term" => {
234+ # "person.name" => "oliver wendell holmes"
235+ # Remove CR's added by hidden input field values with returns
236+ facet => filter [ 1 ] . gsub ( /\r / , "" )
237+ }
238+ }
239+ if nested
240+ query = {
241+ "nested" => {
242+ "path" => path ,
243+ "query" => {
244+ "bool" => {
245+ "must" => query
241246 }
242247 }
243248 }
244249 }
245- }
246- filter_list << nested
250+ end
251+ filter_list << query
247252 #ordinary nested facet
248253 elsif filter [ 0 ] . include? ( "." )
249254 path = filter [ 0 ] . split ( "." ) . first
You can’t perform that action at this time.
0 commit comments