【solr基础教程之九】客户端


一、Java Script

1、由于Solr本身可以返回Json格式的结果,而JavaScript对于处理Json数据具有天然的优势,因此使用JavaScript实现Solr客户端是一个很好的选择。

2、在之前,主要使用SolJS作为solr的客户端,目前主要使用ajax-solr,信息请见:https://github.com/evolvingweb/ajax-solr/wiki/Reuters-tutorial%3A-step-1。

3、以下示例未使用上述所述的客户端,而是使用了ajax的基本功能,完成了搜索结果的呈现。

<html>
<head>
<meta charset="UTF-8">
<title>Search Result</title>
<script type="text/javascript">
	var xmlhttp;
	var responseJson;
	function loadXMLDoc(url) {
		xmlhttp = null;
		if (window.XMLHttpRequest) {// code for Firefox, Opera, IE7, etc.
			xmlhttp = new XMLHttpRequest();
		} else if (window.ActiveXObject) {// code for IE6, IE5
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		if (xmlhttp != null) {
			xmlhttp.onreadystatechange = state_Change;
			xmlhttp.open("GET", url, true);
			xmlhttp.send(null);
		} else {
			alert("Your browser does not support XMLHTTP.");
		}
	}

	function state_Change() {
		if (xmlhttp.readyState == 4) {// 4 = "loaded"
			if (xmlhttp.status == 200) {// 200 = "OK"

				//将responseText转化为Json类型的变量,才能通过点号读取数据。
				responseJson = eval("(" + xmlhttp.responseText + ")");
				for (var i = 0; i < responseJson.response.docs.length; i++) {
					document.write("title:"
							+ responseJson.response.docs[i].title + "<br>");
					document.write("time:"
							+ responseJson.response.docs[i].tstamp + "<br>");
					document.write("content:"
							+ responseJson.response.docs[i].content.substring(
									20, 100) + "<br><br><br>");

				}
			} else {
				alert("Problem retrieving data:" + xmlhttp.statusText);
			}
		}
	}
</script>
</head>

<body onload="loadXMLDoc('/solr/collection1/query?q=*:*')">

</body>

</html>


posted @ 2014-07-30 15:28  eagleGeek  阅读(213)  评论(0编辑  收藏  举报