[
https://issues.apache.org/jira/browse/SOLR-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hoss Man updated SOLR-1553:
---------------------------
Attachment: edismax.unescapedcolon.bug.test.patch
On the train this past weekend i started trying to tackle the issue of making
support for field based queries (ie: "fieldA:valueB") configurable so that it
could be turned on/off for certain fields (or left off completely for
back-compat with dismax)
Based on yonik's description of edismax, and my initial reading of the code
(particularly the use of clause.field and getFieldName in
ExtendedDismaxQParser) i was under the impression that if a "clause" consisting
of FOO:BAR was encountered, and FOO was not a known field, that the clause
would be treated as a literal, and the colon would be escaped before passing it
on to ExtendedSolrQueryParser ... essentially that FOO:BAR and FOO\:BAR would
be equivalent if FOO is not the name of a real field according to the
IndexSchema.
For reasons I don't fully understand yet, this isn't the case -- as the
attached test shows, the queries are parsed differently, and (evidently)
FOO:BAR is parsed as an empty query if FOO is not a real field.
Before I try digging into this too much, I wanted to sanity check:
* is this expected? ... was this done intentionally?
* is this desired? ... is this logical default behavior to have if the field
isn't defined? should we have tests to assert this before i start adding more
config options to change the behavior?
> extended dismax query parser
> ----------------------------
>
> Key: SOLR-1553
> URL: https://issues.apache.org/jira/browse/SOLR-1553
> Project: Solr
> Issue Type: New Feature
> Reporter: Yonik Seeley
> Fix For: 1.5
>
> Attachments: edismax.unescapedcolon.bug.test.patch, SOLR-1553.patch,
> SOLR-1553.pf-refactor.patch
>
>
> An improved user-facing query parser based on dismax
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.