You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Mikhail Khludnev (JIRA)" <ji...@apache.org> on 2018/06/15 22:04:00 UTC
[jira] [Commented] (SOLR-12490) referring/excluding clauses from
JSON query DSL in JSON facets.
[ https://issues.apache.org/jira/browse/SOLR-12490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16514420#comment-16514420 ]
Mikhail Khludnev commented on SOLR-12490:
-----------------------------------------
Here is few-impact approach induced by chat with [~osavrasov]. The proposal is to introduce {{json.queries}}, it's like arbitrary {{json.param}} but it's translated with query DSL
{code}
{
"query" : {
"#top":{
"parent": {
"query": "sku-title:foo",
"filters" : "$childFq", // non-json old style param reference
"which": "scope:product"
}
}
}, // like .param but parsed with query dsl syntax
"queries":{
"childFq":[{ "#color" :"color:black" },
{ "#size" : "size:L" }]
},
"facet":{
"sku_colors_in_prods":{
"type" : "terms",
"field" : "color",
"domain" : {
"excludeTags":["top", // we need to drop top-level parent query
"color"], // excluding one child filter clause
"filter":[
{"param":"childFq"} // referring to .queries.childFq
]
},
"facet": { // counting products
"prod_count":"uniqueBlock(_root_)"
}
}
}
}
{code}
> referring/excluding clauses from JSON query DSL in JSON facets.
> ----------------------------------------------------------------
>
> Key: SOLR-12490
> URL: https://issues.apache.org/jira/browse/SOLR-12490
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Components: Facet Module, faceting
> Reporter: Mikhail Khludnev
> Priority: Major
>
> It's spin off from the [discussion|https://issues.apache.org/jira/browse/SOLR-9685?focusedCommentId=16508720&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16508720].
> h2. Problem
> # after SOLR-9685 we can tag separate clauses in hairish queries like {{parent}}, {{bool}}
> # we can {{domain.excludeTags}}
> # we are looking for child faceting with exclusions, see SOLR-9510, SOLR-8998
> # but we can refer only separate params in {{domain.filter}}, it's not possible to refer separate clauses
> h2. Proposal
> # tag child clauses multiple times
> {code}
> {
> "query" : {
> "#top":{
> "parent": {
> "query": "sku-title:foo",
> "filters" : [
> "scope:sku",
> { "#sku,color" : "color:black" }, // multiple tags
> { "#sku,size" : "size:L" }
> ],
> "which": "scope:product"
> }
> }
> }
> }
> {code}
> # refer to sku clauses, either by
> ## (1) {{domain.filter.tag}} in addition to {{param}}, or
> ## (2) {{domain.includeTags}} mimicking {{excludeTags}}
> {code}
> "facet":{
> "sku_colors_in_prods":{
> "type" : "terms",
> "field" : "color",
> "domain" : {
> "excludeTags":["top","color"], // we need to drop top-level parent query
> "filter":[
> {"tag":"sku"} // (1)
> ],
> "includeTags":"sku" // (2)
> },
> "facet":"uniqueBlock(_root_)"
> }
> }
> {code}
> WDYT, [~osavrasov], [~yseeley@gmail.com]?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org