[ 
https://issues.apache.org/jira/browse/LUCENE-10432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17499700#comment-17499700
 ] 

Andriy Redko commented on LUCENE-10432:
---------------------------------------

Thanks [~jpountz] , the examples you have provided are correct in illustrating 
the limitation of the approach (without making changes in Apache Lucene 
itself), the simple queries like
{noformat}
{
  "query": {
    "bool" : {
      "_name": "my_query",
       "should" : [
        { "term" : { "body" : "foo" } },
        { "term" : { "body" : "boo" } }
      ]
    }
  }
} 

{
  "query": {
    { "term" : { "body" : "foo", "_name": "my_query" } }
  }
}{noformat}
could be covered, but the one you mentioned - indeed not

> Since explanations are used for debugging, it doesn't hurt to include 
> information as part of the description compared to something more structured?

That's what we are trying to implement now (in most cases we are basically 
constrained to either add `_name` to the end or at the start of the already 
prepared description) , it does not hurt, but structured data is a bit easier 
to interpret (and inject). I think we could close this issue, may not be worth 
modifying if you don't see compelling use cases (besides this one), thank you.

> Add optional 'name' property to org.apache.lucene.search.Explanation 
> ---------------------------------------------------------------------
>
>                 Key: LUCENE-10432
>                 URL: https://issues.apache.org/jira/browse/LUCENE-10432
>             Project: Lucene - Core
>          Issue Type: Improvement
>    Affects Versions: 9.0, 8.10.1
>            Reporter: Andriy Redko
>            Priority: Minor
>
> Right now, the `Explanation` class has the `description` property which is 
> used pretty much as placeholder for free-style, human readable summary of 
> what is happening. This is totally fine but it would be great to have a bit 
> more formal way to link the explanation with corresponding function / query / 
> filter if supported by the underlying engine.
> Example: Opensearch / Elasticseach has the concept of named queries / filters 
> [1]. This is not supported by Apache Lucene at the moment but it would be 
> helpful to propagate this information back as part of Explanation tree, for 
> example by introducing  optional 'name' property:
>  
> {noformat}
> {    
>     "value": 0.0,    
>     "description": "script score function, computed with script: ...",        
>  
>     "name": "script1",
>     "details": [        
>      {            
>          "value": 1.0,            
>          "description": "_score: ",            
>          "details": [                
>               {                    
>                   "value": 1.0,                    
>                   "description": "*:*",                    
>                   "details": []                
>                }            
>           ]        
>       }    
>     ]
> }{noformat}
>  
> From the other side, the `name` property may look like not belonging here, 
> the alternative suggestion would be to add support of `properties` /  
> `parameters` / `tags` key/value bag, for example:
>  
> {noformat}
> {    
>     "value": 0.0,    
>     "description": "script score function, computed with script: ...",        
>  
>     "tags": [
>        {  "name": "script1" }
>     ],
>     "details": [        
>      {            
>          "value": 1.0,            
>          "description": "_score: ",            
>          "details": [                
>               {                    
>                   "value": 1.0,                    
>                   "description": "*:*",                    
>                   "details": []                
>                }            
>           ]        
>       }    
>     ]
> }{noformat}
> The change should be non-breaking but quite useful for engines to enrich the 
> `Explanation` with additional context.
> [1] 
> https://www.elastic.co/guide/en/elasticsearch/reference/7.16/query-dsl-bool-query.html#named-queries
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to