[
https://issues.apache.org/jira/browse/SOLR-5052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Munendra S N resolved SOLR-5052.
--------------------------------
Resolution: Duplicate
Fix Version/s: (was: 6.0)
(was: 4.9)
Resolving this in favour of SOLR-6376 (discussions happening in other one)
> eDisMax Field Aliasing behaving oddly when invalid field is present
> -------------------------------------------------------------------
>
> Key: SOLR-5052
> URL: https://issues.apache.org/jira/browse/SOLR-5052
> Project: Solr
> Issue Type: Bug
> Components: query parsers
> Affects Versions: 4.3.1
> Environment: AWS / Ubuntu
> Reporter: Trey Grainger
> Priority: Minor
> Labels: alias, edismax, parser, query
>
> Field Aliasing for the eDisMax query parser behaves in a very odd manner if
> an invalid field is specified in any of the aliases. Essentially, instead of
> throwing an exception on an invalid alias, it breaks all of the other aliased
> fields such that they will only handle the first term correctly. Take the
> following example:
> /select?defType=edismax&f.who.qf=personLastName_t^30
> personFirstName_t^10&f.what.qf=itemName_t
> companyName_t^5&f.where.qf=cityName_t^10 INVALIDFIELDNAME^20 countryName_t^35
> postalCodeName_t^30&q=who:(trey grainger) what:(solr) where:(atlanta,
> ga)&debugQuery=true&df=text
> The terms "trey", "solr" and "atlanta" correctly search across the aliased
> fields, but the terms "grainger" and "ga" are incorrectly being searched
> across the default field ("text"). Here is parsed query from the debug:
> <lst name="debug">
> <str name="rawquerystring">
> who:(trey grainger) what:(solr) where:(decatur, ga)
> </str>
> <str name="querystring">
> who:(trey grainger) what:(solr) where:(decatur, ga)
> </str>
> <str name="parsedquery">
> (+(DisjunctionMaxQuery((personFirstName_t:trey^10.0 |
> personLastName_t:trey^30.0)) DisjunctionMaxQuery((text:grainger))
> DisjunctionMaxQuery((itemName_t:solr | companyName_t:solr^5.0))
> DisjunctionMaxQuery((postalCodeName_t:decatur^30.0 |
> countryName_t:decatur^35.0 | cityName_t:decatur^10.0))
> DisjunctionMaxQuery((text:ga))))/no_coord
> </str>
> <str name="parsedquery_toString">
> +((personFirstName_t:trey^10.0 | personLastName_t:trey^30.0) (text:grainger)
> (itemName_t:solr | companyName_t:solr^5.0) (postalCodeName_t:decatur^30.0 |
> countryName_t:decatur^35.0 | cityName_t:decatur^10.0) (text:ga))
> </str>
> I think the presence of an invalid field in a qf parameter should throw an
> exception (or throw the invalid field away in that alias), but it shouldn't
> break the aliases for other fields.
> For the record, if there are no invalid fields in any of the aliases, all of
> the aliases work. If there is one invalid field in any of the aliases, all
> of the aliases act oddly like this.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]