一、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>