org.eaglei.search.provider.lucene
Class LuceneSearchProviderIndexer

java.lang.Object
  extended by org.eaglei.search.provider.lucene.LuceneSearchProviderIndexer

public class LuceneSearchProviderIndexer
extends java.lang.Object

Creates a Lucene index for eagle-i RDF resource data. A Lucene document is created for each resource. Each document contains the following field corresponding to the direct resource data type and object properties as well as fields corresponding to indirect relationships: inferred types and textual descriptions of resource related by object properties.

Author:
frost

Field Summary
static float HIGH_BOOST
           
protected static boolean INDEX_OBJECT_PROP_LABELS
          Flag that controls whether the preferred labels of object properties are indexed/updated
static java.lang.String INFERRED_TYPE
           
static java.lang.String INSTITUTION_LABEL
           
static java.lang.String INSTITUTION_URI
           
static float LOW_BOOST
           
static float MEDIUM_BOOST
           
static java.lang.String OBJECT_URI_POSTFIX
           
static java.lang.String PREF_TEXT
           
static java.lang.String RELATED
           
static java.lang.String RESOURCE_FLAG
           
static float STANDARD_BOOST
           
static java.lang.String TEXT
           
static java.lang.String URI
           
 
Constructor Summary
LuceneSearchProviderIndexer(org.eaglei.model.EIOntModel eagleiOntModel, org.apache.lucene.analysis.Analyzer analyzer, org.apache.lucene.store.Directory directory)
          Creates the LuceneSearchProviderIndexer
 
Method Summary
 void addIndirectProperties(org.eaglei.model.EIURI uri)
          Updates the document with the specified URI to add object property labels.
 void commit()
          Commits any pending changes the changes
 org.apache.lucene.index.IndexWriter getIndexWriter()
          Retrieves the IndexWriter
 java.util.List<org.eaglei.model.EIURI> getRelatedDocuments(org.eaglei.model.EIURI uri)
          Gets the EIURIs of all documents that reference this document via an object property.
 void indexSearchResult(org.eaglei.search.provider.SearchResult result, boolean materializeTypes)
          Indexes the specified SearchResult.
protected static boolean isDeletedSearchResult(org.eaglei.search.provider.SearchResult result)
          Checks if this SearchResult represents a deleted resource.
protected static java.lang.String stripObjectURIPostfix(java.lang.String fieldWithPostfix)
          Removes the _uri postfix from the document field name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INDEX_OBJECT_PROP_LABELS

protected static final boolean INDEX_OBJECT_PROP_LABELS
Flag that controls whether the preferred labels of object properties are indexed/updated

See Also:
Constant Field Values

URI

public static final java.lang.String URI
See Also:
Constant Field Values

PREF_TEXT

public static final java.lang.String PREF_TEXT
See Also:
Constant Field Values

TEXT

public static final java.lang.String TEXT
See Also:
Constant Field Values

OBJECT_URI_POSTFIX

public static final java.lang.String OBJECT_URI_POSTFIX
See Also:
Constant Field Values

RESOURCE_FLAG

public static final java.lang.String RESOURCE_FLAG
See Also:
Constant Field Values

INFERRED_TYPE

public static final java.lang.String INFERRED_TYPE
See Also:
Constant Field Values

RELATED

public static final java.lang.String RELATED
See Also:
Constant Field Values

INSTITUTION_URI

public static final java.lang.String INSTITUTION_URI
See Also:
Constant Field Values

INSTITUTION_LABEL

public static final java.lang.String INSTITUTION_LABEL
See Also:
Constant Field Values

LOW_BOOST

public static final float LOW_BOOST
See Also:
Constant Field Values

STANDARD_BOOST

public static final float STANDARD_BOOST
See Also:
Constant Field Values

MEDIUM_BOOST

public static final float MEDIUM_BOOST
See Also:
Constant Field Values

HIGH_BOOST

public static final float HIGH_BOOST
See Also:
Constant Field Values
Constructor Detail

LuceneSearchProviderIndexer

public LuceneSearchProviderIndexer(org.eaglei.model.EIOntModel eagleiOntModel,
                                   org.apache.lucene.analysis.Analyzer analyzer,
                                   org.apache.lucene.store.Directory directory)
                            throws java.io.IOException
Creates the LuceneSearchProviderIndexer

Parameters:
eagleiOntModel - Referenced to the eagle-i ontology
analyzer - The Lucene analyzer that is used for indexing and searching.
directory - The directory that holds the index.
Throws:
java.io.IOException - Thrown if an error is encountered.
Method Detail

getIndexWriter

public org.apache.lucene.index.IndexWriter getIndexWriter()
Retrieves the IndexWriter

Returns:

commit

public void commit()
            throws java.io.IOException
Commits any pending changes the changes

Throws:
java.io.IOException

getRelatedDocuments

public java.util.List<org.eaglei.model.EIURI> getRelatedDocuments(org.eaglei.model.EIURI uri)
                                                           throws java.io.IOException
Gets the EIURIs of all documents that reference this document via an object property.

Parameters:
uri - URI of property whose referencing documents are being retrieved.
Returns:
Throws:
java.io.IOException

stripObjectURIPostfix

protected static java.lang.String stripObjectURIPostfix(java.lang.String fieldWithPostfix)
Removes the _uri postfix from the document field name.

Parameters:
fieldWithPostfix - Field with the _uri postfix
Returns:
Field name without the _uri postfix

addIndirectProperties

public void addIndirectProperties(org.eaglei.model.EIURI uri)
                           throws java.io.IOException
Updates the document with the specified URI to add object property labels.

Parameters:
uri -
Throws:
java.io.IOException

isDeletedSearchResult

protected static boolean isDeletedSearchResult(org.eaglei.search.provider.SearchResult result)
Checks if this SearchResult represents a deleted resource.

Returns:
True if it represents a deleted resource.

indexSearchResult

public void indexSearchResult(org.eaglei.search.provider.SearchResult result,
                              boolean materializeTypes)
                       throws java.io.IOException
Indexes the specified SearchResult.

Parameters:
result - SearchResult
materializeTypes - True if the types should be materialized.
Throws:
java.io.IOException - Thrown if an error is encountered indexing the result


Copyright © 2009-2010 Eagle-I. All Rights Reserved.