У меня есть Solr динамическое поле добавляемые моей CMS с этим определением:Поддерживает ли SolrJ строковые массивы?
<dynamicField name="*_path" type="string" indexed="true" stored="true" multiValued="true"/>
Когда я регулярный вызов получить в браузере, я получаю это:
"classification_parent_path":
[
"tag:geo.example.no,2014:Europa tag:geo.example.no,2014:Skandinavia",
"tag:geo.example.no,2014:Europa tag:geo.example.no,2014:Skandinavia tag:geo.example.no,2014:Norge tag:geo.example.no,2014:S%C3%B8rlandet",
"tag:geo.example.no,2014:Europa tag:geo.example.no,2014:Skandinavia tag:geo.example.no,2014:Norge tag:geo.example.no,2014:Nord-Norge"
]
И это, как я хочу это. Однако, когда я делаю то же запрос с SolrJ, я получаю это:
[tag:geo.example.no,2014:Europa tag:geo.example.no,2014:Skandinavia, tag:geo.example.no,2014:Europa tag:geo.example.no,2014:Skandinavia tag:geo.example.no,2014:Norge tag:geo.example.no,2014:S%C3%B8rlandet, tag:geo.example.no,2014:Europa tag:geo.example.no,2014:Skandinavia tag:geo.example.no,2014:Norge tag:geo.example.no,2014:Nord-Norge]
Увы, вы можете увидеть, что котировки ушли в прошлом, и результат приведен в одной длинной строке, так что я не знаю, какие теги принадлежит к элементу массива. Не поддерживает ли SolrJ простые строковые массивы?
запрос SolrJ прост, и выглядит следующим образом:
public SolrDocumentList getSearchResults(String queryParam) {
SolrQuery query = new SolrQuery(queryParam);
QueryResponse response = null;
try {
response = SolrServer.solr.query(query);
} catch (SolrServerException e) {
logger.log(Level.ERROR,
"Error while running query " + query +
"on Solr server instance on " + SolrServer.solr.getBaseURL(), e);
}
return response.getResults();
}