[ 
https://issues.apache.org/jira/browse/CALCITE-4233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shlok Srivastava updated CALCITE-4233:
--------------------------------------
    Description: 
Currently, Calcite use constant_score API to build all the queries. which do 
not boost the documents based on relevance score from any matching clause which 
is supported by disMax API. It does not support dismax query builders - 
[https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-dis-max-query.html.]

 

Dismax query -
{code:java}
GET /_search
{
  "query": {
    "dis_max": {
      "queries": [
        {
          "term": {
            "title": "Quick pets"
          }
        },
        {
          "term": {
            "body": "Quick pets"
          }
        }
      ]
    }
  }
} {code}
Suggested solution  - Queries with OR conditions should use disMax builders to 
fetch the best matching documents.
  

Sample SQL query - 
{code:java}
WHERE Name="James" OR Name="Peter" OR Name="Harry" {code}

  was:
Currently, Calcite use constant_score API to build all the queries. which do 
not fetch document based on relevance score from any matching clause which is 
supported by disMax API. It does not support dismax query builders - 
[https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-dis-max-query.html.]

 

Dismax query -
{code:java}
GET /_search{"query": {"dis_max": {"queries": [{ "term":
{ "title": "Quick pets" }
},{ "term":
{ "body": "Quick pets" }
}],"tie_breaker": 0.7}}}
{code}
 

Expected behavior - Queries with OR conditions should use disMax builders to 
fetch the best matching documents.
  

 


> Elasticsearch Dismax API is not supported in calcite
> ----------------------------------------------------
>
>                 Key: CALCITE-4233
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4233
>             Project: Calcite
>          Issue Type: Improvement
>          Components: elasticsearch-adapter
>            Reporter: Shlok Srivastava
>            Priority: Major
>              Labels: QueryBuilder, calcite, dismax, elasticsearch
>
> Currently, Calcite use constant_score API to build all the queries. which do 
> not boost the documents based on relevance score from any matching clause 
> which is supported by disMax API. It does not support dismax query builders - 
> [https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-dis-max-query.html.]
>  
> Dismax query -
> {code:java}
> GET /_search
> {
>   "query": {
>     "dis_max": {
>       "queries": [
>         {
>           "term": {
>             "title": "Quick pets"
>           }
>         },
>         {
>           "term": {
>             "body": "Quick pets"
>           }
>         }
>       ]
>     }
>   }
> } {code}
> Suggested solution  - Queries with OR conditions should use disMax builders 
> to fetch the best matching documents.
>   
> Sample SQL query - 
> {code:java}
> WHERE Name="James" OR Name="Peter" OR Name="Harry" {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to