2016-09-21 1 views
0

Ich stehe vor diesem Problem mit Solr (Version 6.2). Das Standardschema hat einige dynamische Felder definiert:Solr 6.2 boolesche dynamische Felder (_b Suffix) setzen immer auf false, auch wenn ich ein Feld explizit auf true setze

 <dynamicField name="*_i" type="int" indexed="true" stored="true"/> 
     <dynamicField name="*_is" type="ints" indexed="true" stored="true"/> 
     <dynamicField name="*_s" type="string" indexed="true" stored="true" /> 
     <dynamicField name="*_ss" type="strings" indexed="true" stored="true"/> 
     <dynamicField name="*_l" type="long" indexed="true" stored="true"/> 
     <dynamicField name="*_ls" type="longs" indexed="true" stored="true"/> 
     <dynamicField name="*_t" type="text_general" indexed="true" stored="true"/> 
     <dynamicField name="*_txt" type="text_general" indexed="true" stored="true"/> 
     <dynamicField name="*_b" type="boolean" indexed="true" stored="true"/> 
     <dynamicField name="*_bs" type="booleans" indexed="true" stored="true"/> 
     <dynamicField name="*_f" type="float" indexed="true" stored="true"/> 
     <dynamicField name="*_fs" type="floats" indexed="true" stored="true"/> 
     <dynamicField name="*_d" type="double" indexed="true" stored="true"/> 
     <dynamicField name="*_ds" type="doubles" indexed="true" stored="true"/> 

Aber wenn ein Post ein Dokument wie folgt aus:

[{ 
id:7, 
isActive_b:true, 
isReachable_b: 1, 
isWorthty_b:"True" 
}] 

oder (in XML):

<add> 
<doc> 
    <field name="id">7</field> 
    <field name="isActive_b">true</field> 
    <field name="isReachable_b">1</field> 
    <field name="isWorthty_b">"True"</field> 
</doc> 
</add> 

Mit allen Werten das sollte für Solr als WAHR gelten.

"BoolField: Contains either true or false. Values of "1", "t", or "T" in the first 
character are interpreted as true. Any other values in the first character 
are interpreted as false." (Solr Ref Guide 6.2) 

Das Ergebnis ist folgende: image

"response":{"numFound":1,"start":0,"maxScore":12.316666,"docs":[ 
     { 
     "id":"7", 
     "isActive_b":false, 
     "isReachable_b":false, 
     "isWorthty_b":false, 
     "_version_":1546068272520101888}] 
    }} 

oder (in XML):

<result name="response" numFound="1" start="0" maxScore="12.316666"> 
    <doc> 
    <str name="id">7</str> 
    <bool name="isActive_b">false</bool> 
    <bool name="isReachable_b">false</bool> 
    <bool name="isWorthty_b">false</bool> 
    <long name="_version_">1546068272520101888</long></doc> 
</result> 

Wer mit dem gleichen Problem oder eine Lösung dafür?

Antwort

1

Wir haben das gleiche Problem. Immer falsch auf 6.2, funktioniert ok auf 5.5. Die seltsame Sache ist, dass die Verwendung der Solr Web UI booleans korrekt eingestellt sind.

Debuggen wir einen Haltepunkt direkt nach der Abfrage, wenn SolrDocument zurückgegeben werden, und Booleans waren bereits falsch.

Wir rollen zurück auf 5.5.

+1

Danke für Ihre Antwort! Du bist sogar noch weiter gegangen, um es zu debuggen !! Ich denke, ich werde ein Problem für Solr-Entwickler dann öffnen! Ansonsten ist der Weg zurück zu 5.5 wie Sie gesagt haben ... – Daniel

+1

Sie beantworteten mein Problem ihr https://issues.apache.org/jira/browse/SOLR-9553. Scheint wie das Problem auf Version 6.2.1 behoben ist, aber ich habe es noch nicht getestet! – Daniel

+1

Problem ist auf Version 6.2.1 behoben !!!! – Daniel

Verwandte Themen