Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.crosswire.jsword.index.lucene
Class LuceneIndex

    java.lang.Object
      org.crosswire.jsword.index.AbstractIndex
          org.crosswire.jsword.index.lucene.LuceneIndex

All Implemented Interfaces:
  Activatable, Index

    public class LuceneIndex

extends AbstractIndex
implements Activatable

Implement the SearchEngine using Lucene as the search engine.

Author:
  Joe Walker [joe at eireneh dot com]
See Also:
  `for license details. The copyright to this program is held by it's authors.`

Field Summary
`private boolean` | `active` Are we active
`protected Book` | `book` The Book that we are indexing
`private static Object` | `CREATING` A synchronization lock point to prevent us from doing 2 index runs at a time.
`protected static String` | `FIELD_BODY` The Lucene field for the text contents
`protected static String` | `FIELD_NAME` The Lucene field for the osisID
`protected static String` | `FIELD_STRONG` The Lucene field for the strong numbers
`private static Logger` | `log` The log stream
`private String` | `path` The location of this index
`protected org.apache.lucene.search.Searcher` | `searcher` The Lucene search engine

Constructor Summary
`LuceneIndex(Book book, URL storage)` Read an existing index and use it.
`LuceneIndex(Book book, URL storage, boolean create)` Generate an index to use, telling the job about progress as you go.

Method Summary
`void` | `activate(Lock lock)` Called to indicate that the Book should initialize itself, and consume whatever system resources it needs to be able to respond to other queries.
`protected void` | `checkActive()` Helper method so we can quickly activate ourselves on access
`void` | `deactivate(Lock lock)` Called to indicate that the Book should release whatever system resources it can to make way for other uses.
`Key` | `find(String search)` Find the set of references that satisfy the query.
`private void` | `generateSearchIndexImpl(Progress job, List errors, org.apache.lucene.index.IndexWriter writer, Key key, int count)` Dig down into a Key indexing as we go.
`Key` | `getKey(String name)` An index must be able to create KeyLists for users in a similar way to the Book that it is indexing.

Methods inherited from class org.crosswire.jsword.index.AbstractIndex
`getSearchModifier, setSearchModifier`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### CREATING

    private static final Object CREATING

  A synchronization lock point to prevent us from doing 2 index runs at a time.

### active

    private boolean active

  Are we active

### log

    private static final Logger log

  The log stream

### FIELD_NAME

    protected static final String FIELD_NAME

  The Lucene field for the osisID

  See Also:
    Constant Field Values

### FIELD_BODY

    protected static final String FIELD_BODY

  The Lucene field for the text contents

  See Also:
    Constant Field Values

### FIELD_STRONG

    protected static final String FIELD_STRONG

  The Lucene field for the strong numbers

  See Also:
    Constant Field Values

### book

    protected Book book

  The Book that we are indexing

### path

    private String path

  The location of this index

### searcher

    protected org.apache.lucene.search.Searcher searcher

  The Lucene search engine

Constructor Detail

### LuceneIndex

    public LuceneIndex(Book book,
                       URL storage)
                throws BookException

  Read an existing index and use it.

  Throws:
    `BookException` - If we fail to read the index files

### LuceneIndex

    public LuceneIndex(Book book,
                       URL storage,
                       boolean create)
                throws BookException

  Generate an index to use, telling the job about progress as you go.

  Throws:
    `BookException` - If we fail to read the index files

Method Detail

### find

    public Key find(String search)
             throws BookException

  Description copied from interface: `Index`
  Find the set of references that satisfy the query. Query is anything that the underlying index can handle. If the `query` being searched for is null then an empty Key MUST be returned. Users of this index may use this functionality to get empty KeyLists which they then use to aggregate other searches done on this index.

  Specified by:
    `find` in interface `Index`
  Parameters:
    `search` - The text to search for
  Returns:
    The references to the word
  Throws:
    `BookException`

### getKey

    public Key getKey(String name)
               throws NoSuchKeyException

  Description copied from interface: `Index`
  An index must be able to create KeyLists for users in a similar way to the Book that it is indexing.

  Specified by:
    `getKey` in interface `Index`
  Parameters:
    `name` - The string to convert to a Key
  Returns:
    A new Key representing the given string, if possible
  Throws:
    `NoSuchKeyException` - If the string can not be turned into a Key
  See Also:
    `KeyFactory.getKey(String)`

### activate

    public final void activate(Lock lock)

  Description copied from interface: `Activatable`
  Called to indicate that the Book should initialize itself, and consume whatever system resources it needs to be able to respond to other queries.

  Specified by:
    `activate` in interface `Activatable`
  Parameters:
    `lock` - An attempt to ensure that only the Activator calls this method

### deactivate

    public final void deactivate(Lock lock)

  Description copied from interface: `Activatable`
  Called to indicate that the Book should release whatever system resources it can to make way for other uses.

  Specified by:
    `deactivate` in interface `Activatable`
  Parameters:
    `lock` - An attempt to ensure that only the Activator calls this method

### checkActive

    protected final void checkActive()

  Helper method so we can quickly activate ourselves on access

### generateSearchIndexImpl

    private void generateSearchIndexImpl(Progress job,
                                         List errors,
                                         org.apache.lucene.index.IndexWriter writer,
                                         Key key,
                                         int count)
                                  throws BookException,
                                         IOException

  Dig down into a Key indexing as we go.

  Throws:
    `BookException`
    `IOException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Copyright ¨ 2003-2006
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD