我正在使用solrj java客户端从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();
我正在获取数据并使用SolrDocumentList发送回JSON作为输出。
我的输出如下所示
[
{ "id":1,
"name":"king",
"address":"US"
},
{ "id":2,
"name":"Jack",
"address":"US"
}
]
但是我需要带有列名以及数据作为单独属性的JSON输出。
任何帮助表示赞赏!
答案 0 :(得分:0)
我认为您对Solr的理解存在问题(我可能错了)。
Solr是文档的集合,而不是行,行将始终对每个列至少具有预定义的默认值,但是Solr文档可能对架构中定义的每个字段都具有或不具有值,具体取决于索引逻辑。 因此,您的输出将始终是文档集合,而每个文档都是键值对的集合,并且对于您指定了值的每个文档,只会返回这些键在编制索引时。