如何将solr响应后的namedList转换成json实例代码

原创 2012年03月21日 09:50:40
/***********************************************/
//>将返回的namedList转换成Json格式
//>如何将CoreAdminRequest.getStatus("",server);
//>需要依赖的jar处理solr的jar之外还要orgJson.jar
/***********************************************/

/***********************************************/
>0.示例代码
public void getCoreContainerStats() {
		try {
			String solrServerUrl = "http://" + this.sc.getIp() + ":"
					+ this.sc.getPort() + "/" + this.sc.getAppName() + "/";
			CoreAdminRequest req = new CoreAdminRequest();
			req.setAction(org.apache.solr.common.params.CoreAdminParams.CoreAdminAction.STATUS);


			server = new CommonsHttpSolrServer(solrServerUrl);
			CoreAdminResponse cr = req.process(server);
			StringBuffer sb = new StringBuffer();


			NamedList ctLst = cr.getCoreStatus();// 得到所有在容器中的实例信息
			NamedList headLst = cr.getResponseHeader();// 得到响应的头信息


			Map mp = new HashMap();
			for (int i = 0; i < headLst.size(); i++) {
				mp.put(headLst.getName(i), headLst.getVal(i));
			}


			// 将响应的头的map转换成一个json对象然后添加到里面
			List mLst = new ArrayList();


			// 如果有多实例的话就看作一个数组
			for (int i = 0; i < ctLst.size(); i++) {
				System.out.println("=========================");
				SimpleOrderedMap smp = (SimpleOrderedMap) ctLst.getVal(i);
				System.out.println(ctLst.getName(i));
				System.out.println(ctLst.getVal(i));


				Map p = new HashMap();
				SimpleOrderedMap sap = (SimpleOrderedMap) ctLst.getVal(i);
				mLst.add(p);
				Map a = new HashMap();


				for (int k = 0; k < sap.size(); k++) {
					p.put(sap.getName(k), sap.getVal(k));
					// 得到index节点
					SimpleOrderedMap op = (SimpleOrderedMap) sap.get("index");
					p.put("index", a);


					for (int j = 0; j < op.size(); j++) {
						a.put(op.getName(j), op.getVal(j));
					}
				}
			}


			Map pp = new HashMap();


			pp.put("status", mLst);
			pp.put("responseHeader", mp);


			this.sc.setSolrCoreContainerStats(pp);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
/***********************************************/

/***********************************************/
>1.实例json
//var s = {
//	"appName" : "solrQuery",
//	"port" : "8080",
//	"hasBeenCreated" : "true",
//	"solrHome" : "D:/03workspaces/solrQuery/solrhome",
//	"solrCoreContainerStats" : {
//		"responseHeader" : {
//			"status" : 0,
//			"QTime" : 0
//		},
//		"status" : [
//				{
//					"startTime" : "Thu Mar 22 13:13:42 CST 2012",
//					"index" : {
//						"segmentCount" : 0,
//						"numDocs" : 0,
//						"lastModified" : "Tue Mar 20 13:26:40 CST 2012",
//						"directory" : "org.apache.lucene.store.MMapDirectory:org.apache.lucene.store.MMapDirectory@D:\\03workspaces\\solrQuery\\solrhome\\data\\index lockFactory=org.apache.lucene.store.NativeFSLockFactory@a0ccc96",
//						"current" : true,
//						"maxDoc" : 0,
//						"hasDeletions" : false,
//						"version" : 1332221200864
//					},
//					"instanceDir" : "D:\\03workspaces\\solrQuery\\solrhome\\.\\",
//					"name" : "",
//					"uptime" : 830146,
//					"dataDir" : "D:\\\\03workspaces\\\\solrQuery\\\\solrhome\\.\\data\\"
//				},
//				{
//					"startTime" : "Thu Mar 22 13:15:54 CST 2012",
//					"index" : {
//						"segmentCount" : 0,
//						"numDocs" : 0,
//						"lastModified" : "Thu Mar 22 13:15:55 CST 2012",
//						"directory" : "org.apache.lucene.store.MMapDirectory:org.apache.lucene.store.MMapDirectory@D:\\03workspaces\\solrQuery\\solrhome\\solrcore10\\data\\index lockFactory=org.apache.lucene.store.NativeFSLockFactory@69b8b810",
//						"current" : true,
//						"maxDoc" : 0,
//						"hasDeletions" : false,
//						"version" : 1332393355047
//					},
//					"instanceDir" : "D:\\03workspaces\\solrQuery\\solrhome\\solrcore10\\",
//					"name" : "solrcore10",
//					"uptime" : 698103,
//					"dataDir" : "D:\\03workspaces\\solrQuery\\solrhome\\solrcore10\\data\\"
//				} ]
//	},
//	"instanceDir" : "D:/03workspaces/solrQuery/solrhome/solrcore10",
//	"solrCoreName" : "solrcore10",
//	"ip" : "localhost"
//};
/***********************************************/

solrj操作core

最近开发需要用到solr全文检索,由于有多种数据,希望把这些数据所见的索引进行分类查询,于是就了解了solr的multiCore。在网上找了很多资料没有找到我想要的例子,最终通过群里的一些朋友帮助熟悉...
  • cuichao703
  • cuichao703
  • 2014年04月09日 15:44
  • 950

让Solr返回JSON数据

http://localhost:1985/solr/select/?q=*%3A*&version=2.2&start=0&rows=10&indent=on&wt=json     solr的...
  • xiaoyu411502
  • xiaoyu411502
  • 2015年04月01日 21:56
  • 1932

如何将list类型的数据转换成json格式在服务器端

今天学习了如何将object类型的数据转换成json格式,并且在返回给浏览器,并且在浏览器端收到json格式的数据之后在成功的解析成我么所需要的格式的数据1:在服务器端将object类型的数据转换成j...
  • zhang245754954
  • zhang245754954
  • 2017年02月03日 18:05
  • 3100

json and string (Ruby)

encode and decode http://api.rubyonrails.org/classes/ActiveSupport/JSON.html size of string "string...
  • dianzishu222
  • dianzishu222
  • 2014年12月08日 13:45
  • 270

java对象转换成json

JSON --- JAVA 使用方法 使用JSON的方法   JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 J...
  • u012454429
  • u012454429
  • 2015年10月13日 12:11
  • 4532

solr查询返回JSON格式

SolrDocumentList docs = response.getResults(); 1、JSONObject返回类似{"SolrDocument":{“1”:{},“2”:{}} Map m...
  • nma_123456
  • nma_123456
  • 2015年09月11日 15:20
  • 3105

oracle中取图片,转json格式,并转成图片

1.在orcale数据库中以blob类型存储,写入时以byte[]形式。 2.在取出的xml中 3.转json // 从数据库中取出图片数据二进制数组,利用base64转成字符串 byte[] mi ...
  • shuimofengyang
  • shuimofengyang
  • 2017年09月18日 11:22
  • 380

json数组如何转换成string类型(超级好用)

先上代码,下面解释 这个jar包地址之后更新的时候再给出来的。 包的地址JSONObject job = ace.text(a); //此时job里面的数据格式为 {"logid":2075,"w...
  • lzx159951
  • lzx159951
  • 2017年07月12日 15:04
  • 636

javascript如何将响应的String类型转换成Json类型

后台通过response.getWrite.write(jsonObj.toString);把json转换成String类型传递给前台,前台如何使用Javascript将String转换回Json类型...
  • xueyepiaoling
  • xueyepiaoling
  • 2010年06月08日 14:26
  • 2252

Solr6使用SolrJ导入JSON数据

摘要: 之前,曾讨论过如何使用SolrJ将XML文件数据导入到Solr数据库,参见http://blog.csdn.net/jiangchao858/article/details/52766017。...
  • jiangchao858
  • jiangchao858
  • 2016年10月16日 22:14
  • 3541
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何将solr响应后的namedList转换成json实例代码
举报原因:
原因补充:

(最多只允许输入30个字)