[
https://issues.apache.org/jira/browse/SOLR-2606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hoss Man updated SOLR-2606:
---------------------------
Attachment: SOLR-2606.test.only.patch
bq. Lucene has no limits on fieldnames. I've long advocated sticking to java
identifiers (minus the $) as best practice for a whole bunch of reasons. Maybe
it was a mistake not enforcing it to begin with.
That ship has kind of sailed. At this point it's really a matter of trying to
do the best we can with what the users got.
For those unfamiliar...
Historically speaking, Solr has never enforced limits on field names except on
a feature by feature basis -- so you can have any character you want in field
names in your schema.xml, but some characters don't play nice with some
features: whitespace or commas in field names have never worked with the "fl"
param, many punctuation characters would cause you problems with the Lucene
query parser, etc...
for sorting, the only limitation until SOLR-1297 has ever been that you can't
sort on a field containing whitespace, and that naming a field "score" was
going to cause you problems.
With SOLR-1297 the decision was sorting by function was valuable enough that
"things that look like functions" should be parsed as functions, even though
it's theoretically possible that you might have a field named "log(price)" (or
a "*" dynamicField) in your schema.
but at the same time, i added logic to try and ensure that if the function
parsing approach didn't produce a valid sort, it would fallback to the legacy
parsing approach before assuming an error (see
"SOLR-1297.better.field.support.patch")
Apparently there are some combinations that we missed.
Attached patch demonstrates the problem specifically with ":" and "-" in field
names.
given that rails uses ":" in field names when using solr, and "-" is a pretty
common character for people to expect to work in field names, we should
definitely try to get to the bottom of this.
> Solr sort no longer works on field names with some punctuation in them
> ----------------------------------------------------------------------
>
> Key: SOLR-2606
> URL: https://issues.apache.org/jira/browse/SOLR-2606
> Project: Solr
> Issue Type: Bug
> Components: search
> Affects Versions: 3.1, 3.2
> Environment: Linux
> Reporter: Mitsu Hadeishi
> Attachments: SOLR-2606.test.only.patch
>
>
> We just upgraded from Solr 1.4 to 3.2. For the most part the upgrade went
> fine, however we discovered that sorting on field names with dashes in them
> is no longer working properly. For example, the following query used to work:
> http://[our solr server]/select/?q=computer&sort=static-need-binary+asc
> and now it gives this error:
> HTTP Status 400 - undefined field static
> type Status report
> message undefined field static
> description The request sent by the client was syntactically incorrect
> (undefined field static).
> It appears the parser for sorting has been changed so that it now tokenizes
> differently, and assumes field names cannot have dashes in them. However,
> field names clearly can have dashes in them. The exact same query which
> worked fine for us in 1.4 is now breaking in 3.2. Changing the sort field to
> use a field name that doesn't have a dash in it works just fine.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]