Skip to content

Instantly share code, notes, and snippets.

@jbest
Last active December 31, 2015 20:29
Show Gist options
  • Save jbest/8040225 to your computer and use it in GitHub Desktop.
Save jbest/8040225 to your computer and use it in GitHub Desktop.
Attempts of retrieving and parsing JSON from SOLR
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
</script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
//solrURL = "http://ammatsun.acis.ufl.edu:5900/solr/lichenssilver/select?q=content%3A*&fq=alaska&wt=json&indent=true&facet=true&facet.field=content&facet.mincount=8";
var collection = "lichenssilver";
//var collection_field = "content";
var collection_field = "content";
solrURL = "http://ammatsun.acis.ufl.edu:5900/solr/" + collection + "/select?q=" + collection_field + "%3A*&fq=" + $("#fqstring").val() + "&wt=json&indent=true&facet=true&facet.field=content&facet.mincount=" + $("#mincount").val();
//alert (solrURL);
$.getJSON(solrURL,function(result){
var numFound = result.response.numFound;
var facet_counts = result.facet_counts;
var facet_fields = result.facet_counts.facet_fields;
var facet_content = result.facet_counts.facet_fields.content;
var facet_array = new Array();
facet_array.push(['word', 'count']);
var facet_key = "";
var facet_value = "";
var docs = result.docs;
//<li class="list-group-item">Cras justo odio</li>
// Clear params from previous query
$( "#params_div ").empty();
// Display params from current query
$("#params_div").append("<li class='list-group-item'>Found: " + numFound + "</li>");
// Generate facet array
$.each(facet_content, function(i, facet_content_item){
//$("div").append(i + ":" + facet_content_item + " </br>");
if(i % 2 === 0) {
// code to be executed if condition is true
//$("div").append("key: " + facet_content_item + " ");
facet_key = facet_content_item;
}
else {
// code to be executed if condition is false
//$("div").append("value: " + facet_content_item + "</br>");
facet_value = facet_content_item;
facet_array.push([facet_key,facet_value]);
}
});
var data = google.visualization.arrayToDataTable(facet_array);
var options = {
title: 'Token occurrence in Lichen dataset.',
legend: { position: 'none' },
};
var chart = new google.visualization.Histogram(document.getElementById('chart_div'));
chart.draw(data, options);
//$("div").append(facet_array + "</br>");
// Remove previous facets from last query
$( "#facet_div ").empty();
// Add facets to facet list
$.each(facet_array, function(i, facet_kv){
//<li class="list-group-item">Facets</li>
$("#facet_div").append("<li class='list-group-item'>" + facet_kv[0] + "<span class='badge'>" + facet_kv[1] + "</span></li>");
});
//$("div").append("Facets: " + facet_counts + "</br>");
//$("div").append("Facet fields: " + facet_content + "</br>");
//$("#facet_div").append("Search params:</br>");
//$("#facet_div").append( $("#fqstring").val()+"</br>");
//$("#facet_div").append( $("#mincount").val()+"</br>");
//$.each(result, function(i, field){
// $.each(field, function(key, value){
// $("div").append(key + ":" + value + " ");
//});
//});
});
});
});
</script>
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div class="container">
<div class="page-header">
<h1>Query</h1>
</div>
<!-- Parameters and Results -->
<div class="col-sm-4">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Query</h3>
</div>
<div class="panel-body">
<form>
Search term: <input id="fqstring" type="text" name="fqstring" value="alaska"><br>
Min occurrence count: <input id="mincount" type="text" name="mincount" value="8"><br>
<button type="button" class="btn btn-sm btn-default">Get JSON data</button>
</form>
<div id="params_div">
<li class="list-group-item">Results</li>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<ul class="list-group">
<p>
</ul>
</div><!-- /.col-sm-4 -->
</div>
<!-- Facet -->
<div class="row">
<div class="col-sm-4">
<ul class="list-group">
<div id="facet_div">
<li class="list-group-item">Facets</li>
</div>
</ul>
</div><!-- /.col-sm-4 -->
</div>
</p>
<div id="docs_div">
DOCS here.
</div>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
</div><!-- /.container -->
</body>
</html>
@jbest
Copy link
Author

jbest commented Dec 19, 2013

added Bootstrap and some cleanup

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment