Skip to content
Craig Jones edited this page Aug 5, 2014 · 20 revisions

Current GeoNetwork Functionality

Lucene Index Configuration

Refer GeoNetwork Lucene Index configuration

Faceted Search Configuration

Refer GeoNetwork Faceted Search Configuration

Example Search request

http://catalogue-rc.aodn.org.au/geonetwork/srv/eng/q?fast=index&platform=self-propelled%20boat

Example Search response

<?xml version="1.0" encoding="UTF-8"?>
<response from="1" to="7" selected="0">
  <summary count="7" type="local">
    <platformNames>
      <platformName count="7" name="self-propelled boat" />
    </platformNames>
    <longParamNames>
      <longParamName count="3" name="Biotic taxonomic identification" />
      <longParamName count="3" name="Abundance of biota" />
      <longParamName count="1" name="Total alkalinity per unit mass of the water body" />
      <longParamName count="1" name="Concentration of ammonium {NH4} per unit volume of the water body" />
      <longParamName count="1" name="Concentration of phosphate {PO4} per unit volume of the water body" />
      <longParamName count="1" name="Concentration of nitrate {NO3} per unit volume of the water body" />
      <longParamName count="1" name="Concentration of silicate {SiO4} per unit volume of the water body" />
      <longParamName count="1" name="Concentration of suspended particulate material (inorganic) per unit volume of the water body" />
      <longParamName count="1" name="Concentration of suspended particulate material (organic) per unit volume of the water body" />
      <longParamName count="1" name="Concentration of suspended particulate material per unit volume of the water body" />
      <longParamName count="1" name="Dry weight biomass per unit volume of the water body" />
      <longParamName count="1" name="Concentration of chlorophyll per unit volume of the water body" />
      <longParamName count="1" name="Concentration of oxygen {O2} per unit volume of the water body" />
      <longParamName count="1" name="Practical salinity of the water body" />
    </longParamNames>
    <organisationNames>
      <organisationName count="5" name="CSIRO Division of Marine and Atmospheric Research - Hobart" />
      <organisationName count="2" name="CSIRO Division of Marine and Atmospheric Research - Dutton Park" />
    </organisationNames>
  </summary>
  <metadata>
    <title>IMOS National Reference Station (NRS) - Picoplankton flow cytometry</title>
    <popularity>12</popularity>
    <source>2e5b03a0-fbd5-4215-a650-7d121ffb6635</source>
    <owner>340</owner>
    <responsibleParty>pointOfContact|resource|CSIRO Division of Marine and Atmospheric Research - Hobart|</responsibleParty>
    <responsibleParty>distributor|metadata|CSIRO Marine Data Centre|</responsibleParty>
    ...
  </metadata>
  <metadata>
    <title>IMOS National Reference Station (NRS) - Phytoplankton Abundance and Biovolume</title>
    <popularity>8</popularity>
    <source>2e5b03a0-fbd5-4215-a650-7d121ffb6635</source>
    <owner>340</owner>
    <responsibleParty>pointOfContact|resource|CSIRO Division of Marine and Atmospheric Research - Hobart|</responsibleParty>
    <responsibleParty>distributor|metadata|CSIRO Marine Data Centre|</responsibleParty>
    ...
  </metadata>
  ...
</response>
  

Lucene faceted search

Refer Apache Lucene Faceted Search User's Guide - this guide is for 4.1.0 - its changed since then

Proposed New Functionailty

Overview

Vocab Extract

Vocab Extract

Classification Indexing

Vocab Extract

Faceted search/Drilldown

Vocab Extract

Lucene Index Configuration

Index term uri's in lucene index using existing indexing functionality

e.g.

http://vocab.aodn.org.au/aodn/def/Platform/Instance/65

Faceted Search Configuration

<def>
  ...
  <hierarchical>
    <dimension name="Platform" max="10" depth="2" format="DIMENSION"/>
    <dimension name="Parameter" max="10"  format="DIMENSION"/>
    <dimension name="Organisation" sortBy="count" max="10" format="DIMENSION"/>
  </hierarchical>
</def>
<dimensions>
  <dimension name="platform" indexKey="platform" classifier="au.org.emii.geonetwork.classifier.Platform">
    <param name="thesaurusManager" type="org.fao.geonet.kernel.ThesaurusManager"/>
    <param name="conceptSchema" type="java.lang.String" value="http://environment.data.gov.au/aodn/def/Platform"/>
    <param name="classificationSchema" type="java.lang.String" value="http://vocab.aodn.org.au/PlatformClassificationScheme/SchemeNumber1"/>
  </dimension>
  <dimension name="parameter" indexKey="parameter" classifier="org.fao.geonet.kernel.search.classifier.BroaderTerm">
    <param name="thesaurusManager" type="org.fao.geonet.kernel.ThesaurusManager"/>
    <param name="conceptSchema" type="java.lang.String" value="http://environment.data.gov.au/aodn/def/Parameter"/>
  </dimension>
  <dimension name="organisation" indexKey="organisation"/>
</dimensions>

Anticipated Changes

Add support for looking up broader terms (ThesaurusManager/SKOS schema/Concept abstraction)

Index term classifications as lucene catageories when indexing term (SearchManager)

Return included subtree results in response as requested (LuceneSearcher)

Make use of drilldown parameters in search request to do drilldowns (LuceneSearcher)

Write required classifiers

Configure indexing of classifications and returned summary

Search Request

As per current functionality

Drilldown Request

http://catalogue-rc.aodn.org.au/geonetwork/srv/eng/q?fast=index&title=SOOP&facet.q=Platform/Ship%26Parameter/Biotic%20taxonomic%20identification

Need to escape any embedded '/' in classification

Search response

<?xml version="1.0" encoding="UTF-8"?>
<response from="1" to="7" selected="0">
  <summary count="7" type="local">
    <dimension count="7" name="Platform">
      <category count="7" name="Ship">
          <category count="3" name="L'Astrolabe"/>
          <category count="4" name="Aurora Australis"/>
      </category>
    </dimension>
    <dimension count="3" name="Parameter">
      <category count="3" name="Biotic taxonomic identification" />
      <category count="3" name="Abundance of biota" />
      <category count="1" name="Total alkalinity per unit mass of the water body" />
      <category count="1" name="Concentration of ammonium {NH4} per unit volume of the water body" />
      <category count="1" name="Concentration of phosphate {PO4} per unit volume of the water body" />
      <category count="1" name="Concentration of nitrate {NO3} per unit volume of the water body" />
      <category count="1" name="Concentration of silicate {SiO4} per unit volume of the water body" />
      <category count="1" name="Concentration of suspended particulate material (inorganic) per unit volume of the water body" />
      <category count="1" name="Concentration of suspended particulate material (organic) per unit volume of the water body" />
      <category count="1" name="Concentration of suspended particulate material per unit volume of the water body" />
      <category count="1" name="Dry weight biomass per unit volume of the water body" />
      <category count="1" name="Concentration of chlorophyll per unit volume of the water body" />
      <category count="1" name="Concentration of oxygen {O2} per unit volume of the water body" />
      <category count="1" name="Practical salinity of the water body" />
    </dimension>
    <dimension count="5" name="Organisation">
      <category count="5" name="CSIRO Division of Marine and Atmospheric Research - Hobart" />
      <category count="2" name="CSIRO Division of Marine and Atmospheric Research - Dutton Park" />
    </dimension>
  </summary>
  <metadata>
    <title>IMOS National Reference Station (NRS) - Picoplankton flow cytometry</title>
    <popularity>12</popularity>
    <source>2e5b03a0-fbd5-4215-a650-7d121ffb6635</source>
    <owner>340</owner>
    <responsibleParty>pointOfContact|resource|CSIRO Division of Marine and Atmospheric Research - Hobart|</responsibleParty>
    <responsibleParty>distributor|metadata|CSIRO Marine Data Centre|</responsibleParty>
    ...
  </metadata>
  <metadata>
    <title>IMOS National Reference Station (NRS) - Phytoplankton Abundance and Biovolume</title>
    <popularity>8</popularity>
    <source>2e5b03a0-fbd5-4215-a650-7d121ffb6635</source>
    <owner>340</owner>
    <responsibleParty>pointOfContact|resource|CSIRO Division of Marine and Atmospheric Research - Hobart|</responsibleParty>
    <responsibleParty>distributor|metadata|CSIRO Marine Data Centre|</responsibleParty>
    ...
  </metadata>
  ...
</response>

TODO

Multi-lingual support - GeoNetwork, iso19115/iso19139 and skos rdf support labelling in different languages (actually this is probably pretty easy - e.g. language -> classifier parameter)

CSW support -> no idea whether this can be fitted to csw - a geonetwork extension perhaps

GeoNetwork Client interface - hierarchical facets should be supported in GeoNetwork UI as well

Forward fit to GeoNetwork development branch