Introduction

This tutorial demonstrates how to generate GeoRSS for Solr, and then create a simple connection between Solr GeoRSS and SIS. By doing this, you will be able to visualize the locations of you Solr documents on the map of the SIS service.

This module has been removed from Apache SIS. This wiki page is kept as a source of material that we may use when web application development will restart.


Prerequisites

This tutorial assumes that you already have Solr and SIS webapp installed.

Installing GeoRSS ResponseWriter to Solr

In order to generate GeoRSS in Solr, you need to install the patch of GeoRSS ResponseWriter. You could find the patch from https://issues.apache.org/jira/browse/SOLR-2074. Please make sure you install the latest version.

Add the following configuration to the Solr solrconfig.xml file (you may add this manually or use the earliest version of the GeoRSS ResponseWriter patch to do this)

<queryResponseWriter name="georss"/>

Indexing in Solr

When you perform indexing in Solr, please make sure you also index the following fields:

name, link, location (type="location"),  pubDate (or timestamp, type="date"),  features (optional)

You need to edit the Solr schema.xml file before indexing the above fields, e.g. adding the following lines if they do not exist: 

   <field name="name" type="text_general" indexed="true" stored="true"/>
   <field name="link" type="string" indexed="true" stored="true"/>
   <field name="location" type="location" indexed="true" stored="true"/>
   <field name="pubDate" type="date" indexed="true" stored="true" multiValued="false"/>

Testing the Solr GeoRSS

Restart Solr. If you are using Tomcat, Tomcat 7 might have some problem. Tomcat 6 is preferred.

Suppose your Solr URL is under http://localhost:8080/solr/. In the browser, navigate to http://localhost:8080/solr/select/?q=*:*&wt=georss, and then "view page source". If you have installed GeoRSS ResponseWriter successfully and indexed the required fields, you should be able to see the output similar to the following.

<?xml version='1.0'?>
<rss version='2.0' xmlns:geo='http://www.w3.org/2003/01/geo/wgs84_pos#'>
	<channel>
		<title>Solr Search Results</title>
		<description>GeoRSS Formatted Search Results</description>
		<item>
			<title>00000001 pages 1-249.pdf</title>
			<link>http://localhost:8080/solr/vault/00000001 pages 1-249.pdf</link>
			<pubDate>Sat, 28 Apr 2012 23:01:48 PDT</pubDate>
			<geo:lat>37.25022</geo:lat>
			<geo:long>-119.75126</geo:long>
		</item>
		<item>
			<title>00000001 pages 250-461.pdf</title>
			<link>http://localhost:8080/solr/vault/00000001 pages 250-461.pdf</link>
			<pubDate>Sat, 28 Apr 2012 23:01:48 PDT</pubDate>
			<geo:lat>37.25022</geo:lat>
			<geo:long>-119.75126</geo:long>
		</item>
		<item>
			<title>100-342146 Section 1 -6.PDF</title>
			<link>http://localhost:8080/solr/vault/100-342146 Section 1 -6.PDF</link>
			<pubDate>Sat, 28 Apr 2012 23:01:48 PDT</pubDate>
			<geo:lat>32.31872</geo:lat>
			<geo:long>-102.54572</geo:long>
		</item>
                ... ...
     </channel>
</rss>

SIS Webapp Configuration

Add the URL used in Solr GeoRSS to the sis_location_config.xml file for the SIS webapp. Make sure to do XML encoding for all the '&' in the URL. Remove all of the other RSS URLs from the file. After editing the file, it should look similar to the following:

<sis:locationConfig xmlns:sis="http://incubator.apache.org/sis/1.0">
    <capacity>4</capacity>
    <depth>10</depth>
    <url>http://localhost:8080/solr/select/?q=*:*&amp;wt=georss&amp;start=0&amp;rows=2000</url>
</sis:locationConfig>

You may need to remove the old 'qtree' and 'geodata' folders of SIS every time you update the sis-location-config.xml file.

Running the SIS Demo

To demonstrate the connection, we use the 'demo.jsp' demo from the SIS web application. In the browser, navigate to the SIS demo URL, for example, http://localhost:8080/sis/demo.jsp.

Enter the latitude and longitude region in the query form and then click 'Query', and then SIS webapp should return the result similar to the following. The box of document information is displayed when you click a marker on the map.