如何使用SOLRJ java客户端从SOLR获取列名(字段)?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用SOLRJ java客户端从SOLR获取列名(字段)?相关的知识,希望对你有一定的参考价值。
我正在使用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输出以及作为单独属性的数据。
任何帮助赞赏!
答案
我认为您对Solr的理解存在问题(我可能错了)。
Solr是文档的集合,而不是行,行始终至少具有每列的预定义默认值,但Solr文档可能具有或不具有模式中定义的每个字段的值,具体取决于您的索引逻辑。因此,您的输出将始终是文档集合,而每个文档都是键值对的集合,并且只有在索引时指定了值的每个文档都将返回这些键。
以上是关于如何使用SOLRJ java客户端从SOLR获取列名(字段)?的主要内容,如果未能解决你的问题,请参考以下文章