You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Dan Fox (JIRA)" <ji...@apache.org> on 2016/09/09 16:21:20 UTC

[jira] [Updated] (SOLR-9490) BoolField always returning false for non-DV fields?

     [ https://issues.apache.org/jira/browse/SOLR-9490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Fox updated SOLR-9490:
--------------------------
    Attachment: Solr9490.java

Hi, I think I've also run into this issue.   Here's a unit test that demonstrates it.

> BoolField always returning false for non-DV fields?
> ---------------------------------------------------
>
>                 Key: SOLR-9490
>                 URL: https://issues.apache.org/jira/browse/SOLR-9490
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>    Affects Versions: 6.2
>            Reporter: Hoss Man
>            Priority: Critical
>         Attachments: Solr9490.java
>
>
> 2 diff users posted comments in SOLR-9187 indicating that changes introduced in that issue have broken BoolFields that do *not* use DocValues...
> [~cjcowie]...
> {quote}
> Hi, I've just picked up 6.2.0. It seems that the change to toExternal() in BoolField now means that booleans without DocValues return null, which then turns into Boolean.FALSE in toObject() regardless of whether the value is true or false.
> e.g. with this schema, facet counts are correct, the returned values are wrong.
> {code}
> <field name="f_EVE64" type="boolean" indexed="true" stored="true" required="false" multiValued="false"/>
> <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
> {code}
> {code}
> "response":{"numFound":2,"start":0,"maxScore":1.0,"docs":[
>       {
>         "id":"124",
>         "f_EVE64":false,
>         "_version_":1544828487600177152},
>       {
>         "id":"123",
>         "f_EVE64":false,
>         "_version_":1544828492458229760}]
>   },
>   "facet_counts":{
>     "facet_queries":{},
>     "facet_fields":{
>       "f_EVE64":[
>         "false",1,
>         "true",1]},
> {code}
> Could toExternal() perhaps fallback to how it originally behaved? e.g.
> {code}
> if (f.binaryValue() == null) {
>       return indexedToReadable(f.stringValue());
> }
> {code}
> {quote}
> [~pavan_shetty]...
> {quote}
> I downloaded solr version 6.2.0 (6.2.0 764d0f19151dbff6f5fcd9fc4b2682cf934590c5 - mike - 2016-08-20 05:41:37) and installed my core.
> In my schema.xml i have an field like following :
> <field name="stock_status" type="boolean" indexed="true" stored="true" multiValued="false"/>
> Now i am accessing this field using SolrJ (6.1.0). But i am always getting false value for above field even though it contains true boolean value. This is happening for all boolean fields.
> http://localhost:8983/solr...wt=javabin&version=2 HTTP/1.1
> It is working fine in other response writer.
> If i change the solr version to 6.1.0, with same SolrJ, it starts working. So clearly this is a bug in version 6.2.0.
> {quote}



--
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