2016-12-15 11 views
0

У меня есть JSon структуру, как это:Solr 6.2 представляют родительские дочерние поля

{ 
    "foo": "123", 
    "bar" : { 
     "baz" : ["1","2","3"], 
     "faz" : "hello" 
    } 
} 

Что я пытаюсь представить в Solr 6.2 и эта схема не дает мне ожидаемый результат:

<field name="_root_" type="string" docValues="false" indexed="true" stored="false" /> 
<field name="foo" type="string" indexed="true" stored="true"/> 
<field name="bar" type="string" indexed="true" stored="true"/> 
<field name="bar.baz" type="strings" indexed="true" stored="true"/> 
<field name="bar.faz" type="string" indexed="true" stored="true"/> 

Полученная схема такова:

{ 
    "foo": "123", 
    "bar" : "", 
    "bar.baz" : ["1","2","3"], 
    "bar.faz" : "hello" 
} 

ответ

1

использование multivalued=true для baz

dont использовать bar.baz. просто дать Баз и ВСЗ изменить эти поля

<field name="bar.baz" type="strings" indexed="true" stored="true"/> 
<field name="bar.faz" type="string" indexed="true" stored="true"/> 

в

<field name="baz" type="string" multiValued="true" indexed="true" stored="true"/> 
<field name="faz" type="string" indexed="true" stored="true"/> 
+0

вы имеете в виду многозначное = верно для бара? – Woot4Moo

+0

для 'baz'. замените две строки, как в моем ответе в файле схемы, перезапустите solr. это будет работать – vinod