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

Mikhail Khludnev updated SOLR-13764:
------------------------------------
    Description: 
h2. Context

Lucene has Intervals query LUCENE-8196. Note: these are a kind of healthy man's 
Spans/Phrases. Note: It's not about ranges nor facets.
h2. Problem

There's no way to search by IntervalQuery via JSON Query DSL.
h2. Suggestion
 * Create classic QParser \{{ {!interval df=text_content}a_json_param}}, ie one 
can combine a few such refs in {{json.query.bool}}

 * It accepts just a name of JSON params, nothing like this happens yet.
 * This param carries plain json which is accessible via {{req.getJSON()}}

{\{{}}
 {{  query: {bool:{should:[}}
 {{    \{interval:i_1},}}
 {{    {interval:

{query:i_2, df:title}

}}
 {{  }]}},}}
 {{  params:{}}
 {{    df: description_t,}}
 {{    i_1:\{phrase:"lorem ipsum"},}}
 {{    i_2:{ unordered: [

{term:"bar"}

,\{phrase:"bag ban"}]}}}
 \{{  }}}
 {{}}}
h2. Challenges
 * I have no idea about particular JSON DSL for these queries, Lucene API seems 
like easy JSON-able. Proposals are welcome.
 * Another awkward things is combining analysis and low level query API. eg 
what if one request term for one word and analysis yield two tokens, and vice 
versa requesting phrase might end up with single token stream.
 * Putting json into Jira ticket description

h2. Q: Why don't..

.. put intervals DSL right into {{json.query}}, avoiding these odd param refs? 
 A: It requires heavy lifting for {{JsonQueryConverter}} which is streamlined 
for handling old good http parametrized queires.

  was:
h2. Context

Lucene has Intervals query LUCENE-8196. Note: these are a kind of healthy man's 
Spans/Phrases. Note: It's not about ranges nor facets.
h2. Problem

There's no way to search by IntervalQuery via JSON Query DSL.
h2. Suggestion
 * Create classic QParser {{{!interval df=text_content}a_json_param}}, ie one 
can combine a few such refs in {{json.query.bool}}
 * It accepts just a name of JSON params, nothing like this happens yet.
 * This param carries plain json which is accessible via {{req.getJSON()}}

{{{}}
{{  query: {bool:{should:[}}
{{    \{interval:i_1},}}
{{    \{interval:{query:i_2, df:title}}}
{{  }]}},}}
{{  params:{}}
{{    df: description_t,}}
{{    i_1:\{phrase:"lorem ipsum"},}}
{{    i_2:\{ unordered: [{term:"bar"},\{phrase:"bag ban"}]}}}
{{  }}}
{{}}}
h2. Challenges
 * I have no idea about particular JSON DSL for these queries, Lucene API seems 
like easy JSON-able. Proposals are welcome.
 * Another awkward things is combining analysis and low level query API. eg 
what if one request term for one word and analysis yield two tokens, and vice 
versa requesting phrase might end up with single token stream.

h2. Q: Why don't..

.. put intervals DSL right into {{json.query}}, avoiding these odd param refs? 
 A: It requires heavy lifting for {{JsonQueryConverter}} which is streamlined 
for handling old good http parametrized queires.


> Parse Interval Query from JSON API
> ----------------------------------
>
>                 Key: SOLR-13764
>                 URL: https://issues.apache.org/jira/browse/SOLR-13764
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: query parsers
>            Reporter: Mikhail Khludnev
>            Priority: Major
>
> h2. Context
> Lucene has Intervals query LUCENE-8196. Note: these are a kind of healthy 
> man's Spans/Phrases. Note: It's not about ranges nor facets.
> h2. Problem
> There's no way to search by IntervalQuery via JSON Query DSL.
> h2. Suggestion
>  * Create classic QParser \{{ {!interval df=text_content}a_json_param}}, ie 
> one can combine a few such refs in {{json.query.bool}}
>  * It accepts just a name of JSON params, nothing like this happens yet.
>  * This param carries plain json which is accessible via {{req.getJSON()}}
> {\{{}}
>  {{  query: {bool:{should:[}}
>  {{    \{interval:i_1},}}
>  {{    {interval:
> {query:i_2, df:title}
> }}
>  {{  }]}},}}
>  {{  params:{}}
>  {{    df: description_t,}}
>  {{    i_1:\{phrase:"lorem ipsum"},}}
>  {{    i_2:{ unordered: [
> {term:"bar"}
> ,\{phrase:"bag ban"}]}}}
>  \{{  }}}
>  {{}}}
> h2. Challenges
>  * I have no idea about particular JSON DSL for these queries, Lucene API 
> seems like easy JSON-able. Proposals are welcome.
>  * Another awkward things is combining analysis and low level query API. eg 
> what if one request term for one word and analysis yield two tokens, and vice 
> versa requesting phrase might end up with single token stream.
>  * Putting json into Jira ticket description
> h2. Q: Why don't..
> .. put intervals DSL right into {{json.query}}, avoiding these odd param 
> refs? 
>  A: It requires heavy lifting for {{JsonQueryConverter}} which is streamlined 
> for handling old good http parametrized queires.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

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

Reply via email to