Как писать вложенные schema.xml в solr?
Как писать вложенные schema.xml в solr
В документе в schema.xml говорится
<!-- points to the root document of a block of nested documents. Required for nested
document support, may be removed otherwise
-->
<field name="_root_" type="string" indexed="true" stored="false"/>
http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/solr/collection1/conf/schema.xml?view=markup
Что можно использовать в
https://cwiki.apache.org/confluence/display/solr/Other+Parsers#OtherParsers-BlockJoinQueryParsers
Что будет schema.xml для вложения следующих элементов:
- Строка пользователя
- Адрес
- городская строка
- строка почтового индекса
Ответы
Ответ 1
Я знаю, что это старый вопрос, но я столкнулся с подобной проблемой. Изменив мое решение для ваших, поля, которые необходимо добавить в ваш schema.xml, следующие:
<field name="person" type="string" indexed="true" stored="true" />
<field name="address" type="string" indexed="true" stored="true" multiValued="true"/>
<field name="address.city" type="string" indexed="true" stored="true" />
<field name="address.postcode" type="string" indexed="true" stored="true" />
Затем, когда вы запустите его, вы сможете добавить следующий JSON в свой экземпляр Solr и посмотреть соответствующий результат в запросе:
{
"person": "John Smith",
"address": {
"city": "San Diego",
"postcode": 92093
}
}
Ответ 2
But the above solution doesn't work with list of addresses. For example, if I
add a content like :
curl http://localhost:8983/solr/demo/update/json/docs?commitWithin=3000 -d '
[
{"person": "John Smith",
"address":
[{
"city": "San Diego",
"postcode": 92093
},{
"city": "Bangalore",
"postcode": 560006
}]
}
]'
It throws an error saying : ERROR: [doc=2] multiple values encountered for non
multiValued field address.city: [San Diego, Bangalore]