You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "David Smiley (JIRA)" <ji...@apache.org> on 2016/11/22 04:45:58 UTC

[jira] [Commented] (SOLR-9786) Defer creation of clauses in parser, optionally delegate groups to FieldType.getSetQuery

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

David Smiley commented on SOLR-9786:
------------------------------------

bq. This is no longer desirable

That wording suggests to me there was some change to something that made the current code inefficient... but my understanding here is instead this is really just an optimization that could have actually been added a long time ago (remember TermsFilter, the Solr 4 version of TermsQuery).  Right?

I noticed the QParser.setIsFilter this patch added.  This addresses an old issue I filed: SOLR-2883   What do you think of the local-params approach suggested there?

> Defer creation of clauses in parser, optionally delegate groups to FieldType.getSetQuery
> ----------------------------------------------------------------------------------------
>
>                 Key: SOLR-9786
>                 URL: https://issues.apache.org/jira/browse/SOLR-9786
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Yonik Seeley
>            Assignee: Yonik Seeley
>         Attachments: SOLR-9786.patch
>
>
> Solr's query parser currently creates a query for each clause it sees independently.  This is no longer desirable, since if we are creating a filter (non-scoring query), we can use a TermsQuery.
> PointFields SOLR-8396 also need to see a set of values together to efficiently create a set query.
> This issue:
>  - adds context for the parser to know when it's parsing a query for matching only  (that's only for the TermsQuery... I assume Points would always use a set query when passed multiple values)
> - defers creation of real Query objects for simple term queries in a boolean query
> - aggregates those values by field at the end to be passed to a new FieldType.getSetQuery method
> - FieldType.getSetQuery base implementation uses TermsQuery for indexed fields 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org