[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Description: h1. Caveat SOLR-12275 bug in Solr 7.3 {{\{!filters}}} as wells as {{filters}} local param in {{\{!parent filters=...}...}} and {{\{!child filters=..}...}} is broken in 7.3, workaround is adding {{cache=false}} as a local parameter. SOLR-12275 is fixed in Solr 7.4. h2. Challenge * Since SOLR-5743 achieved block join child level facets with counts roll-up to parents, there is a demand for filter exclusions. h2. Context * Then, it's worth to consider JSON Facets as an engine for this functionality rather than support a separate component. * During a discussion in SOLR-8998 a solution for block join with child level exclusion has been found. h2. Proposal It's proposed to provide a bit of syntax sugar to make it user friendly, believe it or not. h2. List of improvements * introducing a local parameter {{filters}} for {{{!parent}} query parser referring to _multiple_ filters queries via parameter name: {{{!parent filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} these _filters_ are intersected with a child query supplied as a subordinate clause. * introducing \{{{!filters param=$child.fq excludeTags=color v=$subq}&subq=text:word&child.fq= \{!tag=color}color:Red&child.fq=size:XL}} it intersects a subordinate clause (here it's {{subq}} param, and the trick is to refer to the same query from {{{!parent}}}), with multiple filters supplied via parameter name {{param=$child.fq}}, it also supports {{excludeTags}}. h2. Notes Regarding the latter parser, the alternative approach might be to move into {{domain:{..}}} instruction of json facet. From the implementation perspective, it's desired to optimize with bitset processing, however I suppose it's might be deferred until some initial level of maturity. h2. Example {code:java} q={!parent which=type_s:book filters=$child.fq v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 3)&wt=json&indent=on&json.facet={ comments_for_author:{ type:query, q:"{!filters param=$child.fq excludeTags=author v=$childquery}", "//note":"author filter is excluded", domain:{ blockChildren:"type_s:book", "//":"applying filters here might be more promising" }, facet:{ authors:{ type:terms, field:author_s, facet: { in_books: "unique(_root_)" } } } } , comments_for_stars:{ type:query, q:"{!filters param=$child.fq excludeTags=stars v=$childquery}", "//note":"stars_i filter is excluded", domain:{ blockChildren:"type_s:book" }, facet:{ stars:{ type:terms, field:stars_i, facet: { in_books: "unique(_root_)" } } } } } {code} Votes? Opinions? was: h2. Challenge * Since SOLR-5743 achieved block join child level facets with counts roll-up to parents, there is a demand for filter exclusions. h2. Context * Then, it's worth to consider JSON Facets as an engine for this functionality rather than support a separate component. * During a discussion in SOLR-8998 a solution for block join with child level exclusion has been found. h2. Proposal It's proposed to provide a bit of syntax sugar to make it user friendly, believe it or not. h2. List of improvements * introducing a local parameter {{filters}} for {{{!parent}} query parser referring to _multiple_ filters queries via parameter name: {{{!parent filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} these _filters_ are intersected with a child query supplied as a subordinate clause. * introducing \{{{!filters param=$child.fq excludeTags=color v=$subq}&subq=text:word&child.fq= \{!tag=color}color:Red&child.fq=size:XL}} it intersects a subordinate clause (here it's {{subq}} param, and the trick is to refer to the same query from {{{!parent}}}), with multiple filters supplied via parameter name {{param=$child.fq}}, it also supports {{excludeTags}}. h2. Notes Regarding the latter parser, the alternative approach might be to move into {{domain:{..}}} instruction of json facet. From the implementation perspective, it's desired to optimize with bitset processing, however I suppose it's might be deferred until some initial level of maturity. h2. Example {code:java} q={!parent which=type_s:book filters=$child.fq v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 3)&wt=json&indent=on&json.facet={ comments_for_author:{ type:query, q:"{!filters param=$child.fq excludeTags=author v=$childquery}", "//note":"author filter is excluded", domain:{ blockChildren:"type_s:book", "//":"applying filters here might be more promising" }, facet:{ authors:{ type:terms, field:author_s, facet: { in_books: "un
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR-9510-doc.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Assignee: Mikhail Khludnev >Priority: Major > Fix For: 7.3, master (8.0) > > Attachments: SOLR-9510-doc.patch, SOLR-9510-doc.patch, > SOLR-9510-doc.patch, SOLR-9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 a solution for block join with child > level exclusion has been found. > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing \{{{!filters param=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq= \{!tag=color}color:Red&child.fq=size:XL}} > it intersects a subordinate clause (here it's {{subq}} param, and the trick > is to refer to the same query from {{{!parent}}}), with multiple filters > supplied via parameter name {{param=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code:java} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters param=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters param=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Cassandra Targett updated SOLR-9510: Attachment: SOLR-9510-doc.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Fix For: 7.3, master (8.0) > > Attachments: SOLR-9510-doc.patch, SOLR-9510-doc.patch, > SOLR-9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 a solution for block join with child > level exclusion has been found. > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing \{{{!filters param=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq= \{!tag=color}color:Red&child.fq=size:XL}} > it intersects a subordinate clause (here it's {{subq}} param, and the trick > is to refer to the same query from {{{!parent}}}), with multiple filters > supplied via parameter name {{param=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code:java} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters param=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters param=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR-9510-doc.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Fix For: 7.3, master (8.0) > > Attachments: SOLR-9510-doc.patch, SOLR-9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 a solution for block join with child > level exclusion has been found. > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing \{{{!filters param=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq= \{!tag=color}color:Red&child.fq=size:XL}} > it intersects a subordinate clause (here it's {{subq}} param, and the trick > is to refer to the same query from {{{!parent}}}), with multiple filters > supplied via parameter name {{param=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code:java} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters param=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters param=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Description: h2. Challenge * Since SOLR-5743 achieved block join child level facets with counts roll-up to parents, there is a demand for filter exclusions. h2. Context * Then, it's worth to consider JSON Facets as an engine for this functionality rather than support a separate component. * During a discussion in SOLR-8998 a solution for block join with child level exclusion has been found. h2. Proposal It's proposed to provide a bit of syntax sugar to make it user friendly, believe it or not. h2. List of improvements * introducing a local parameter {{filters}} for {{{!parent}} query parser referring to _multiple_ filters queries via parameter name: {{{!parent filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} these _filters_ are intersected with a child query supplied as a subordinate clause. * introducing \{{{!filters param=$child.fq excludeTags=color v=$subq}&subq=text:word&child.fq= \{!tag=color}color:Red&child.fq=size:XL}} it intersects a subordinate clause (here it's {{subq}} param, and the trick is to refer to the same query from {{{!parent}}}), with multiple filters supplied via parameter name {{param=$child.fq}}, it also supports {{excludeTags}}. h2. Notes Regarding the latter parser, the alternative approach might be to move into {{domain:{..}}} instruction of json facet. From the implementation perspective, it's desired to optimize with bitset processing, however I suppose it's might be deferred until some initial level of maturity. h2. Example {code:java} q={!parent which=type_s:book filters=$child.fq v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 3)&wt=json&indent=on&json.facet={ comments_for_author:{ type:query, q:"{!filters param=$child.fq excludeTags=author v=$childquery}", "//note":"author filter is excluded", domain:{ blockChildren:"type_s:book", "//":"applying filters here might be more promising" }, facet:{ authors:{ type:terms, field:author_s, facet: { in_books: "unique(_root_)" } } } } , comments_for_stars:{ type:query, q:"{!filters param=$child.fq excludeTags=stars v=$childquery}", "//note":"stars_i filter is excluded", domain:{ blockChildren:"type_s:book" }, facet:{ stars:{ type:terms, field:stars_i, facet: { in_books: "unique(_root_)" } } } } } {code} Votes? Opinions? was: h2. Challenge * Since SOLR-5743 achieved block join child level facets with counts roll-up to parents, there is a demand for filter exclusions. h2. Context * Then, it's worth to consider JSON Facets as an engine for this functionality rather than support a separate component. * During a discussion in SOLR-8998 a solution for block join with child level exclusion has been found. h2. Proposal It's proposed to provide a bit of syntax sugar to make it user friendly, believe it or not. h2. List of improvements * introducing a local parameter {{filters}} for {{{!parent}} query parser referring to _multiple_ filters queries via parameter name: {{{!parent filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} these _filters_ are intersected with a child query supplied as a subordinate clause. * introducing \{{{!filters param=$child.fq excludeTags=color v=$subq}&subq=text:word&child.fq= \{!tag=color}color:Red&child.fq=size:XL}} it intersects a subordinate clause (here it's {{subq}} param, and the trick is to refer to the same query from {{{!parent}}}), with multiple filters supplied via parameter name {{param=$child.fq}}, it also supports {{excludeTags}}. h2. Notes Regarding the latter parser, the alternative approach might be to move into {{domain:{..}}} instruction of json facet. From the implementation perspective, it's desired to optimize with bitset processing, however I suppose it's might be deferred until some initial level of maturity. h2. Example {code:java} q={!parent which=type_s:book filters=$child.fq v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 3)&wt=json&indent=on&json.facet={ comments_for_author:{ type:query, q:"{!filters params=$child.fq excludeTags=author v=$childquery}", "//note":"author filter is excluded", domain:{ blockChildren:"type_s:book", "//":"applying filters here might be more promising" }, facet:{ authors:{ type:terms, field:author_s, facet: { in_books: "unique(_root_)" } } } } , comments_for_stars:{ type:query, q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", "//note":"stars_i filter is excluded", domain:{ blockChildren:"type_s:book" }, facet:{ stars:{ type:terms,
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Description: h2. Challenge * Since SOLR-5743 achieved block join child level facets with counts roll-up to parents, there is a demand for filter exclusions. h2. Context * Then, it's worth to consider JSON Facets as an engine for this functionality rather than support a separate component. * During a discussion in SOLR-8998 a solution for block join with child level exclusion has been found. h2. Proposal It's proposed to provide a bit of syntax sugar to make it user friendly, believe it or not. h2. List of improvements * introducing a local parameter {{filters}} for {{{!parent}} query parser referring to _multiple_ filters queries via parameter name: {{{!parent filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} these _filters_ are intersected with a child query supplied as a subordinate clause. * introducing \{{{!filters param=$child.fq excludeTags=color v=$subq}&subq=text:word&child.fq= \{!tag=color}color:Red&child.fq=size:XL}} it intersects a subordinate clause (here it's {{subq}} param, and the trick is to refer to the same query from {{{!parent}}}), with multiple filters supplied via parameter name {{param=$child.fq}}, it also supports {{excludeTags}}. h2. Notes Regarding the latter parser, the alternative approach might be to move into {{domain:{..}}} instruction of json facet. From the implementation perspective, it's desired to optimize with bitset processing, however I suppose it's might be deferred until some initial level of maturity. h2. Example {code:java} q={!parent which=type_s:book filters=$child.fq v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 3)&wt=json&indent=on&json.facet={ comments_for_author:{ type:query, q:"{!filters params=$child.fq excludeTags=author v=$childquery}", "//note":"author filter is excluded", domain:{ blockChildren:"type_s:book", "//":"applying filters here might be more promising" }, facet:{ authors:{ type:terms, field:author_s, facet: { in_books: "unique(_root_)" } } } } , comments_for_stars:{ type:query, q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", "//note":"stars_i filter is excluded", domain:{ blockChildren:"type_s:book" }, facet:{ stars:{ type:terms, field:stars_i, facet: { in_books: "unique(_root_)" } } } } } {code} Votes? Opinions? was: h2. Challenge * Since SOLR-5743 achieved block join child level facets with counts roll-up to parents, there is a demand for filter exclusions. h2. Context * Then, it's worth to consider JSON Facets as an engine for this functionality rather than support a separate component. * During a discussion in SOLR-8998 [a solution for block join with child level exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] has been found. h2. Proposal It's proposed to provide a bit of syntax sugar to make it user friendly, believe it or not. h2. List of improvements * introducing a local parameter {{filters}} for {{\{!parent}} query parser referring to _multiple_ filters queries via parameter name: {{\{!parent filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} these _filters_ are intersected with a child query supplied as a subordinate clause. * introducing {{\{!filters params=$child.fq excludeTags=color v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it intersects a subordinate clause (here it's {{subq}} param, and the trick is to refer to the same query from {{\{!parent}}}), with multiple filters supplied via parameter name {{params=$child.fq}}, it also supports {{excludeTags}}. h2. Notes Regarding the latter parser, the alternative approach might be to move into {{domain:\{..}}} instruction of json facet. From the implementation perspective, it's desired to optimize with bitset processing, however I suppose it's might be deferred until some initial level of maturity. h2. Example {code} q={!parent which=type_s:book filters=$child.fq v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 3)&wt=json&indent=on&json.facet={ comments_for_author:{ type:query, q:"{!filters params=$child.fq excludeTags=author v=$childquery}", "//note":"author filter is excluded", domain:{ blockChildren:"type_s:book", "//":"applying filters here might be more promising" }, facet:{ authors:{ type:terms, field:author_s, facet: { in_books: "unique(_root_)" } } } } , comments_for_stars:{ type:query, q:"{!filters params=
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR-9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR-9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR-9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR-9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR-9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR-9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dr Oleg Savrasov updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR-9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dr Oleg Savrasov updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR-9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dr Oleg Savrasov updated SOLR-9510: --- Attachment: (was: SOLR_9510.patch) > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR-9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: (was: SOLR-9510.patch) > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR-9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR-9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR-9510.patch, SOLR-9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR-9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR-9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dr Oleg Savrasov updated SOLR-9510: --- Attachment: (was: SOLR_9510.patch) > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dr Oleg Savrasov updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dr Oleg Savrasov updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: (was: SOLR_9510.patch) > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Attachment: SOLR_9510.patch > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev >Priority: Major > Attachments: SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ishan Chattopadhyaya updated SOLR-9510: --- Attachment: SOLR_9510.patch Updating the patch to master, based on the latest available patch. > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev > Attachments: SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch, > SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dr Oleg Savrasov updated SOLR-9510: --- Attachment: SOLR_9510.patch Arpan Gupta has noticed that proposed approach differs from usual filter exclusions. The problem is that eliminating child filters in facet queries doesn't extend docSet of matched parent objects, it extends the set of child objects in initial parent objects domain only. To extend parent objects domain, we probably need to support similar definition, i.e. domain: { blockChildren : type_s:book, excludeTags:stars } This makes the syntax a bit more complicated, since same exclusions should be mentioned both in domain (to extend docSet of matched parent objects) and facet query (to extend the set of matched child objects). The patch is reworked to support domain filter exclusions, please see TestJsonFacetsWithNestedObjects.testDomainFilterExclusions test as a reference to the new feature. > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev > Attachments: SOLR_9510.patch, SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dr Oleg Savrasov updated SOLR-9510: --- Attachment: SOLR_9510.patch I created the previous patch using IDEA tool. Normally it works, but this time it looks like it has issues with patch format. Will you try this one, please? > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev > Attachments: SOLR_9510.patch, SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dr Oleg Savrasov updated SOLR-9510: --- Attachment: SOLR_9510.patch Initial implementation (without bitset processing optimizations). Comments are welcome. > child level facet exclusions > > > Key: SOLR-9510 > URL: https://issues.apache.org/jira/browse/SOLR-9510 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Facet Module, faceting, query parsers >Reporter: Mikhail Khludnev > Attachments: SOLR_9510.patch > > > h2. Challenge > * Since SOLR-5743 achieved block join child level facets with counts roll-up > to parents, there is a demand for filter exclusions. > h2. Context > * Then, it's worth to consider JSON Facets as an engine for this > functionality rather than support a separate component. > * During a discussion in SOLR-8998 [a solution for block join with child > level > exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] > has been found. > > h2. Proposal > It's proposed to provide a bit of syntax sugar to make it user friendly, > believe it or not. > h2. List of improvements > * introducing a local parameter {{filters}} for {{\{!parent}} query parser > referring to _multiple_ filters queries via parameter name: {{\{!parent > filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} > these _filters_ are intersected with a child query supplied as a subordinate > clause. > * introducing {{\{!filters params=$child.fq excludeTags=color > v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it > intersects a subordinate clause (here it's {{subq}} param, and the trick is > to refer to the same query from {{\{!parent}}}), with multiple filters > supplied via parameter name {{params=$child.fq}}, it also supports > {{excludeTags}}. > h2. Notes > Regarding the latter parser, the alternative approach might be to move into > {{domain:\{..}}} instruction of json facet. From the implementation > perspective, it's desired to optimize with bitset processing, however I > suppose it's might be deferred until some initial level of maturity. > h2. Example > {code} > q={!parent which=type_s:book filters=$child.fq > v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 > 3)&wt=json&indent=on&json.facet={ > comments_for_author:{ > type:query, > q:"{!filters params=$child.fq excludeTags=author v=$childquery}", > "//note":"author filter is excluded", > domain:{ > blockChildren:"type_s:book", > "//":"applying filters here might be more promising" >}, facet:{ >authors:{ > type:terms, > field:author_s, > facet: { > in_books: "unique(_root_)" > } > } >} > } , > comments_for_stars:{ > type:query, > q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", > "//note":"stars_i filter is excluded", > domain:{ > blockChildren:"type_s:book" >}, facet:{ >stars:{ > type:terms, > field:stars_i, > facet: { > in_books: "unique(_root_)" > } > } > } > } > } > {code} > Votes? Opinions? -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Description: h2. Challenge * Since SOLR-5743 achieved block join child level facets with counts roll-up to parents, there is a demand for filter exclusions. h2. Context * Then, it's worth to consider JSON Facets as an engine for this functionality rather than support a separate component. * During a discussion in SOLR-8998 [a solution for block join with child level exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] has been found. h2. Proposal It's proposed to provide a bit of syntax sugar to make it user friendly, believe it or not. h2. List of improvements * introducing a local parameter {{filters}} for {{\{!parent}} query parser referring to _multiple_ filters queries via parameter name: {{\{!parent filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} these _filters_ are intersected with a child query supplied as a subordinate clause. * introducing {{\{!filters params=$child.fq excludeTags=color v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it intersects a subordinate clause (here it's {{subq}} param, and the trick is to refer to the same query from {{\{!parent}}}), with multiple filters supplied via parameter name {{params=$child.fq}}, it also supports {{excludeTags}}. h2. Notes Regarding the latter parser, the alternative approach might be to move into {{domain:\{..}}} instruction of json facet. From the implementation perspective, it's desired to optimize with bitset processing, however I suppose it's might be deferred until some initial level of maturity. h2. Example {code} q={!parent which=type_s:book filters=$child.fq v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 3)&wt=json&indent=on&json.facet={ comments_for_author:{ type:query, q:"{!filters params=$child.fq excludeTags=author v=$childquery}", "//note":"author filter is excluded", domain:{ blockChildren:"type_s:book", "//":"applying filters here might be more promising" }, facet:{ authors:{ type:terms, field:author_s, facet: { in_books: "unique(_root_)" } } } } , comments_for_stars:{ type:query, q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", "//note":"stars_i filter is excluded", domain:{ blockChildren:"type_s:book" }, facet:{ stars:{ type:terms, field:stars_i, facet: { in_books: "unique(_root_)" } } } } } {code} Votes? Opinions? was: h2. Challenge * Since SOLR-5743 achieved block join child level facets with counts roll-up to parents, there is a demand for filter exclusions. h2. Context * Then, it's worth to consider JSON Facets as an engine for this functionality rather than support a separate component. * During a discussion in SOLR-8998 [a solution for block join with child level exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] has been found. h2. Proposal It's proposed to provide a bit of syntax sugar to make it user friendly, believe it or not. h2. List of improvements * introducing a local parameter {{filters}} for {{\{!parent}} query parser referring to _multiple_ filters queries via parameter name: {{\{!parent filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} these _filters_ are intersected with a child query supplied as a subordinate clause. * introducing {{\{!filters params=$child.fq excludeTags=color v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it intersects a subordinate clause (here it's {{subq}} param, and the trick is to refer to the same query from {{\{!parent}}}), with multiple filters supplied via parameter name {{params=$child.fq}}, it also supports {{excludeTags}}. h2. Notes Regarding the latter parser, the alternative approach might be to move into {{domain:\{..}}} instruction of json facet. From the implementation perspective, it's desired to optimize with bitset processing, however I suppose it's might be deferred until some initial level of maturity. h2. Example {code} q={!parent which=type_s:book filters=$child.fq v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 3)&wt=json&indent=on&json.facet={ comments_for_author:{ type:query, q:"{!filters params=$child.fq excludeTags=authors v=$childquery}", "//note":"author filter is excluded", domain:{ blockChildren:"type_s:book", "//":"applying filters here might be more promising" }, facet:{ authors:{
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Description: h2. Challenge * Since SOLR-5743 achieved block join child level facets with counts roll-up to parents, there is a demand for filter exclusions. h2. Context * Then, it's worth to consider JSON Facets as an engine for this functionality rather than support a separate component. * During a discussion in SOLR-8998 [a solution for block join with child level exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] has been found. h2. Proposal It's proposed to provide a bit of syntax sugar to make it user friendly, believe it or not. h2. List of improvements * introducing a local parameter {{filters}} for {{\{!parent}} query parser referring to _multiple_ filters queries via parameter name: {{\{!parent filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} these _filters_ are intersected with a child query supplied as a subordinate clause. * introducing {{\{!filters params=$child.fq excludeTags=color v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it intersects a subordinate clause (here it's {{subq}} param, and the trick is to refer to the same query from {{\{!parent}}}), with multiple filters supplied via parameter name {{params=$child.fq}}, it also supports {{excludeTags}}. h2. Notes Regarding the latter parser, the alternative approach might be to move into {{domain:\{..}}} instruction of json facet. From the implementation perspective, it's desired to optimize with bitset processing, however I suppose it's might be deferred until some initial level of maturity. h2. Example {code} q={!parent which=type_s:book filters=$child.fq v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 3)&wt=json&indent=on&json.facet={ comments_for_author:{ type:query, q:"{!filters params=$child.fq excludeTags=authors v=$childquery}", "//note":"author filter is excluded", domain:{ blockChildren:"type_s:book", "//":"applying filters here might be more promising" }, facet:{ authors:{ type:terms, field:author_s, facet: { in_books: "unique(_root_)" } } } } , comments_for_stars:{ type:query, q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", "//note":"stars_i filter is excluded", domain:{ blockChildren:"type_s:book" }, facet:{ stars:{ type:terms, field:stars_i, facet: { in_books: "unique(_root_)" } } } } } {code} Votes? Opinions? was: h2. Challenge * Since SOLR-5743 achieved block join child level facets with counts roll-up to parents, there is a demand for filter exclusions. h2. Context * Then, it's worth to consider JSON Facets as an engine for this functionality rather than support a separate component. * During a discussion in SOLR-8998 [a solution for block join with child level exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] has been found. h2. Proposal It's proposed to provide a bit of syntax sugar to make it user friendly, believe it or not. h2. List of improvements * introducing a local parameter {{filters}} for {{\{!paarent}} query parser referring to _multiple_ filters queries via parameter name: {{\{!parent filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} these _filters_ are intersected with a child query supplied as a subordinate clause. * introducing {{\{!filters params=$child.fq excludeTags=color v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it intersects a subordinate clause (here it's {{subq}} param, and the trick is to refer to the same query from {{\{!parent}}}), with multiple filters supplied via parameter name {{params=$child.fq}}, it also supports {{excludeTags}}. h2. Notes Regarding the latter parser, the alternative approach might be to move into {{domain:\{..}}} instruction of json facet. From the implementation perspective, it's desired to optimize with bitset processing, however I suppose it's might be deferred until some initial level of maturity. h2. Example {code} q={!parent which=type_s:book filters=$child.fq v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 3)&wt=json&indent=on&json.facet={ comments_for_author:{ type:query, q:"{!filters params=$child.fq excludeTags=authors v=$childquery}", "//note":"author filter is excluded", domain:{ blockChildren:"type_s:book", "//":"applying filters here might be more promising" }, facet:{ authors:{
[jira] [Updated] (SOLR-9510) child level facet exclusions
[ https://issues.apache.org/jira/browse/SOLR-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Khludnev updated SOLR-9510: --- Description: h2. Challenge * Since SOLR-5743 achieved block join child level facets with counts roll-up to parents, there is a demand for filter exclusions. h2. Context * Then, it's worth to consider JSON Facets as an engine for this functionality rather than support a separate component. * During a discussion in SOLR-8998 [a solution for block join with child level exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] has been found. h2. Proposal It's proposed to provide a bit of syntax sugar to make it user friendly, believe it or not. h2. List of improvements * introducing a local parameter {{filters}} for {{\{!paarent}} query parser referring to _multiple_ filters queries via parameter name: {{\{!parent filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} these _filters_ are intersected with a child query supplied as a subordinate clause. * introducing {{\{!filters params=$child.fq excludeTags=color v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it intersects a subordinate clause (here it's {{subq}} param, and the trick is to refer to the same query from {{\{!parent}}}), with multiple filters supplied via parameter name {{params=$child.fq}}, it also supports {{excludeTags}}. h2. Notes Regarding the latter parser, the alternative approach might be to move into {{domain:\{..}}} instruction of json facet. From the implementation perspective, it's desired to optimize with bitset processing, however I suppose it's might be deferred until some initial level of maturity. h2. Example {code} q={!parent which=type_s:book filters=$child.fq v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 3)&wt=json&indent=on&json.facet={ comments_for_author:{ type:query, q:"{!filters params=$child.fq excludeTags=authors v=$childquery}", "//note":"author filter is excluded", domain:{ blockChildren:"type_s:book", "//":"applying filters here might be more promising" }, facet:{ authors:{ type:terms, field:author_s, facet: { in_books: "unique(_root_)" } } } } , comments_for_stars:{ type:query, q:"{!filters params=$child.fq excludeTags=stars v=$childquery}", "//note":"stars_i filter is excluded", domain:{ blockChildren:"type_s:book" }, facet:{ stars:{ type:terms, field:stars_i, facet: { in_books: "unique(_root_)" } } } } } {code} Votes? Opinions? was: h2. Challenge * Since SOLR-5743 achieved block join child level facets with counts roll-up to parents, there is a demand for filter exclusions. h2. Context * Then, it's worth to consider JSON Facets as an engine for this functionality rather than support a separate component. * During a discussion in SOLR-8998 [a solution for block join with child level exclusion|https://issues.apache.org/jira/browse/SOLR-8998?focusedCommentId=15487095&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15487095] has been found. h2. Proposal It's proposed to provide a bit of syntax sugar to make it user friendly, believe it or not. h2. List of improvements * introducing a local parameter {{filters}} for {{\{!paarent}} query parser referring to _multiple_ filters queries via parameter name: {{\{!parent filters=$child.fq ..}..&child.fq=color:Red&child.fq=size:XL}} these _filters_ are intersected with a child query supplied as a subordinate clause. * introducing {{\{!filters params=$child.fq excludeTags=color v=$subq}&subq=text:word&child.fq={!tag=color}color:Red&child.fq=size:XL}} it intersects a subordinate clause (here it's {{subq}} param, and the trick is to refer to the same query from {{\{!parent}}}), with multiple filters supplied via parameter name {{params=$child.fq}}, it also supports {{excludeTags}}. Regarding the latter parser, the alternative approach might be to move into {{domain:\{..}}} instruction of json facet. From the implementation perspective, it's desired to optimize with bitset processing, however I suppose it's might be deferred until some initial level of maturity. h2. Example {code} q={!parent which=type_s:book filters=$child.fq v=$childquery}&childquery=comment_t:good&child.fq={!tag=author}author_s:yonik&child.fq={!tag=stars}stars_i:(5 3)&wt=json&indent=on&json.facet={ comments_for_author:{ type:query, q:"{!filters params=$child.fq excludeTags=authors v=$childquery}", "//note":"author filter is excluded", domain:{ blockChildren:"type_s:book", "//":"applying filters here might be more promising" }, facet:{ authors:{ type: