org.crosswire.jsword.index.lucene

## Class LuceneSearcher

- java.lang.Object
- - org.crosswire.jsword.index.lucene.LuceneSearcher

- All Implemented Interfaces:
    Searcher

      public class LuceneSearcher
      extends Object
      implements Searcher

  The central interface to all searching. Functionality the I envisage includes:
  - A simple search syntax that goes something like this.
    - aaron, moses (verses containing aaron and moses. Can also use & or +)
    - aaron/moses (verses containing aaron or moses. Can also use |)
    - aaron - moses (verses containing aaron but not moses)
    - aaron ~5 , moses (verses with aaron within 5 verses of moses)
    - soundslike aaron (verses with words that sound like aaron. Can also use sl ...)
    - thesaurus happy (verses with words that mean happy. Can also use th ...)
    - grammar have (words like has have had and so on. Can also use gr ...)
  - The ability to add soundslike type extensions.
  Author:
    Joe Walker
  See Also:
    `The GNU Lesser General Public License for details.`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private Index` | `index` The index

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LuceneSearcher()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Index` | `getIndex()` Accessor for the Bible to search.
    `void` | `init(Index newindex)` Setup the index that this parser can use to do word level searches
    `Key` | `search(Query query)` Take a search request and decipher it into a Passage.
    `Key` | `search(SearchRequest request)` Take a search request and decipher it into a Passage.
    `Key` | `search(String request)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### index

          private Index index

      The index

  - ### Constructor Detail

    - #### LuceneSearcher

          public LuceneSearcher()

  - ### Method Detail

    - #### init

          public void init(Index newindex)

      Description copied from interface: `Searcher`
      Setup the index that this parser can use to do word level searches
      Specified by:
        `init` in interface `Searcher`
      Parameters:
        `newindex` - The Index to query for words

    - #### search

          public Key search(String request)
                     throws BookException

      Throws:
        `BookException`

    - #### search

          public Key search(SearchRequest request)
                     throws BookException

      Description copied from interface: `Searcher`
      Take a search request and decipher it into a Passage.
      Specified by:
        `search` in interface `Searcher`
      Parameters:
        `request` - The request
      Returns:
        The matching verses
      Throws:
        `BookException`

    - #### search

          public Key search(Query query)
                     throws BookException

      Description copied from interface: `Searcher`
      Take a search request and decipher it into a Passage.
      Specified by:
        `search` in interface `Searcher`
      Parameters:
        `query` - The request
      Returns:
        The matching verses
      Throws:
        `BookException`

    - #### getIndex

          protected Index getIndex()

      Accessor for the Bible to search.
      Returns:
        The current Bible