2016-09-21 58 views
0

我正在面对Solr(版本6.2)的此问题。默认架构中定义了一些动态字段:即使将字段明确设置为true,Solr 6.2布尔动态字段(_b后缀)始终设置为false

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

但是,当一个帖子像下面这样的文件:

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

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

使用所有的值这应该被认为是对Solr真实的。

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

结果如下:image

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

或(在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> 

同样的问题或与它的溶液的任何人?

回答

1

我们有同样的问题。 6.2时总是错误,5.5时正常工作。 奇怪的是,使用Solr Web UI布尔值设置正确。

调试我们在查询后立即放置一个断点,当返回SolrDocument时,布尔变量已经错误。

我们正在回滚到5.5。

+1

感谢您的回答!你甚至进一步调试它!我想我会为Solr的开发者们开一个问题吧! 否则方法是回滚到5.5,如你所说... – Daniel

+1

他们回答了我的问题她的https://issues.apache.org/jira/browse/SOLR-9553。似乎问题在版本6.2.1上得到修复,但我没有测试它! – Daniel

+1

问题在版本6.2.1上修复! – Daniel

相关问题