Как получить имена столбцов (полей) из SOLR, используя Java-клиент SOLRJ? - PullRequest
0 голосов
/ 25 сентября 2018

Я использую Java-клиент Solrj для чтения данных из Solr.ниже приведен фрагмент кода.

SolrClient Solr = new HttpSolrClient.Builder(solrUrlString+solrCoreName).build();

    // Preparing Solr query
    SolrQuery query = new SolrQuery();
    query.setQuery(searchString);

    // Adding the field to be retrieved

    query.addField("*");
    query.setStart(start);
    query.setRows(rows);

    // Executing the query
    QueryResponse queryResponse = Solr.query(query);
    // Storing the results of the query
    SolrDocumentList docs = queryResponse.getResults();

    Solr.close();

Я получаю данные и отправляю обратно JSON в качестве вывода с использованием SolrDocumentList.

Мой вывод выглядит как ниже

[
{ "id":1,
   "name":"king",
   "address":"US"
},
{ "id":2,
   "name":"Jack",
   "address":"US"
}
]

НоМне нужен вывод JSON с именами столбцов и данными в качестве отдельного атрибута.

Любая справка приветствуется!

1 Ответ

0 голосов
/ 26 сентября 2018

Я думаю, что есть проблема с вашим пониманием Solr (я могу ошибаться).

Solr - это набор документов, а не строк, у строк всегда будет по крайней мере предварительно определенное значение по умолчанию для каждого столбцано документ Solr может иметь или не иметь значение для каждого поля, определенного в схеме, в зависимости от логики индексации.Таким образом, ваш вывод всегда будет коллекцией документов , тогда как каждый документ является коллекцией пар ключ-значение , и только те ключи будут возвращены для каждого документа, значение которого вы указали ввремя индексации.

...