Package org.apache.lucene.analysis.ko.dict

## Class UserDictionary

- java.lang.Object
- - org.apache.lucene.analysis.ko.dict.UserDictionary

- All Implemented Interfaces:
    `Dictionary`

      public final class UserDictionary
      extends Object
      implements Dictionary

  Class for building a User Dictionary. This class allows for adding custom nouns (세종) or compounds (세종시 세종 시).

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.lucene.analysis.ko.dict.Dictionary

      `Dictionary.Morpheme`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `TokenInfoFST` | `getFST()` |
    `int` | `getLeftId​(int wordId)` | Get left id of specified word
    `POS.Tag` | `getLeftPOS​(int wordId)` | Get the left `POS.Tag` of specfied word.
    `Dictionary.Morpheme[]` | `getMorphemes​(int wordId, char[] surfaceForm, int off, int len)` | Get the morphemes of specified word (e.g.
    `POS.Type` | `getPOSType​(int wordId)` | Get the `POS.Type` of specified word (morpheme, compound, inflect or pre-analysis)
    `String` | `getReading​(int wordId)` | Get the reading of specified word (mainly used for Hanja to Hangul conversion).
    `int` | `getRightId​(int wordId)` | Get right id of specified word
    `POS.Tag` | `getRightPOS​(int wordId)` | Get the right `POS.Tag` of specfied word.
    `int` | `getWordCost​(int wordId)` | Get word cost of specified word
    `List<Integer>` | `lookup​(char[] chars, int off, int len)` | Lookup words in text
    `static UserDictionary` | `open​(Reader reader)` |

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

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

- - ### Method Detail

    - #### open

          public static UserDictionary open​(Reader reader)
                                     throws IOException

      Throws:
        `IOException`

    - #### getFST

          public TokenInfoFST getFST()

    - #### getLeftId

          public int getLeftId​(int wordId)

      Description copied from interface: `Dictionary`
      Get left id of specified word
      Specified by:
        `getLeftId` in interface `Dictionary`

    - #### getRightId

          public int getRightId​(int wordId)

      Description copied from interface: `Dictionary`
      Get right id of specified word
      Specified by:
        `getRightId` in interface `Dictionary`

    - #### getWordCost

          public int getWordCost​(int wordId)

      Description copied from interface: `Dictionary`
      Get word cost of specified word
      Specified by:
        `getWordCost` in interface `Dictionary`

    - #### getPOSType

          public POS.Type getPOSType​(int wordId)

      Description copied from interface: `Dictionary`
      Get the `POS.Type` of specified word (morpheme, compound, inflect or pre-analysis)
      Specified by:
        `getPOSType` in interface `Dictionary`

    - #### getLeftPOS

          public POS.Tag getLeftPOS​(int wordId)

      Description copied from interface: `Dictionary`
      Get the left `POS.Tag` of specfied word.

      For `POS.Type.MORPHEME` and `POS.Type.COMPOUND` the left and right POS are the same.

      Specified by:
        `getLeftPOS` in interface `Dictionary`

    - #### getRightPOS

          public POS.Tag getRightPOS​(int wordId)

      Description copied from interface: `Dictionary`
      Get the right `POS.Tag` of specfied word.

      For `POS.Type.MORPHEME` and `POS.Type.COMPOUND` the left and right POS are the same.

      Specified by:
        `getRightPOS` in interface `Dictionary`

    - #### getReading

          public String getReading​(int wordId)

      Description copied from interface: `Dictionary`
      Get the reading of specified word (mainly used for Hanja to Hangul conversion).
      Specified by:
        `getReading` in interface `Dictionary`

    - #### getMorphemes

          public Dictionary.Morpheme[] getMorphemes​(int wordId,
                                                    char[] surfaceForm,
                                                    int off,
                                                    int len)

      Description copied from interface: `Dictionary`
      Get the morphemes of specified word (e.g. 가깝으나: 가깝 + 으나).
      Specified by:
        `getMorphemes` in interface `Dictionary`

    - #### lookup

          public List<Integer> lookup​(char[] chars,
                                      int off,
                                      int len)
                               throws IOException

      Lookup words in text
      Parameters:
        `chars` - text
        `off` - offset into text
        `len` - length of text
      Returns:
        array of wordId
      Throws:
        `IOException`