[ https://issues.apache.org/jira/browse/SOLR-8082?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15200800#comment-15200800 ]
Yonik Seeley edited comment on SOLR-8082 at 3/18/16 2:03 AM: ------------------------------------------------------------- Here's an updated patch that uses the same method as {!frange} for a range query. I took the conservative approach and just replaced the boolean query in the previous patch, leaving the previous non-negative ranges untouched. Thanks to the excellent tests in the previous patches, it helped uncover a limitation in ValueSourceRangeFilter that prevented including infinite endpoints. I had to make one change to the tests: I removed -0 as a special value in testFloatAndDoubleRangeQueryRandom. Since -0 == +0, any range including one should include the other. I don't think we should support or guarantee behavior of "different zeros" in any case - way to many potential bugs, and it limits us from an implementation standpoint (different bit patterns for equivalent values). was (Author: ysee...@gmail.com): Here's an updated patch that uses the same method as {!frange} for a range query. Thanks to the excellent tests in the previous patches, it helped uncover a limitation in ValueSourceRangeFilter that prevented including infinite endpoints. I had to make one change to the tests: I removed -0 as a special value in testFloatAndDoubleRangeQueryRandom. Since -0 == +0, any range including one should include the other. I don't think we should support or guarantee behavior of "different zeros" in any case - way to many potential bugs, and it limits us from an implementation standpoint (different bit patterns for equivalent values). > can't query against negative float or double values when indexed="false" > docValues="true" multiValued="false" > ------------------------------------------------------------------------------------------------------------- > > Key: SOLR-8082 > URL: https://issues.apache.org/jira/browse/SOLR-8082 > Project: Solr > Issue Type: Bug > Reporter: Hoss Man > Attachments: SOLR-8082.patch, SOLR-8082.patch, SOLR-8082.patch, > SOLR-8082.patch, SOLR-8082.patch, SOLR-8082.patch, SOLR-8082.patch > > > Haven't dug into this yet, but something is evidently wrong in how the > DocValues based queries get build for single valued float or double fields > when negative numbers are involved. > Steps to reproduce... > {noformat} > $ bin/solr -e schemaless -noprompt > ... > $ curl -X POST -H 'Content-type:application/json' --data-binary '{ > "add-field":{ "name":"f_dv_multi", "type":"tfloat", "stored":"true", > "indexed":"false", "docValues":"true", "multiValued":"true" }, "add-field":{ > "name":"f_dv_single", "type":"tfloat", "stored":"true", "indexed":"false", > "docValues":"true", "multiValued":"false" } }' > http://localhost:8983/solr/gettingstarted/schema > { > "responseHeader":{ > "status":0, > "QTime":84}} > $ curl -X POST -H 'Content-type:application/json' --data-binary > '[{"id":"test", "f_dv_multi":-4.3, "f_dv_single":-4.3}]' > 'http://localhost:8983/solr/gettingstarted/update/json/docs?commit=true' > {"responseHeader":{"status":0,"QTime":57}} > $ curl 'http://localhost:8983/solr/gettingstarted/query?q=f_dv_multi:"-4.3"' > { > "responseHeader":{ > "status":0, > "QTime":5, > "params":{ > "q":"f_dv_multi:\"-4.3\""}}, > "response":{"numFound":1,"start":0,"docs":[ > { > "id":"test", > "f_dv_multi":[-4.3], > "f_dv_single":-4.3, > "_version_":1512962117004689408}] > }} > $ curl 'http://localhost:8983/solr/gettingstarted/query?q=f_dv_single:"-4.3"' > { > "responseHeader":{ > "status":0, > "QTime":5, > "params":{ > "q":"f_dv_single:\"-4.3\""}}, > "response":{"numFound":0,"start":0,"docs":[] > }} > {noformat} > Explicit range queries (which is how numeric "field" queries are implemented > under the cover) are equally problematic... > {noformat} > $ curl > 'http://localhost:8983/solr/gettingstarted/query?q=f_dv_multi:%5B-4.3+TO+-4.3%5D' > { > "responseHeader":{ > "status":0, > "QTime":0, > "params":{ > "q":"f_dv_multi:[-4.3 TO -4.3]"}}, > "response":{"numFound":1,"start":0,"docs":[ > { > "id":"test", > "f_dv_multi":[-4.3], > "f_dv_single":-4.3, > "_version_":1512962117004689408}] > }} > $ curl > 'http://localhost:8983/solr/gettingstarted/query?q=f_dv_single:%5B-4.3+TO+-4.3%5D' > { > "responseHeader":{ > "status":0, > "QTime":0, > "params":{ > "q":"f_dv_single:[-4.3 TO -4.3]"}}, > "response":{"numFound":0,"start":0,"docs":[] > }} > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org