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`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static short` | `LEFT_ID`
    `static short` | `RIGHT_ID`
    `static short` | `RIGHT_ID_F`
    `static short` | `RIGHT_ID_T`
    `static int` | `WORD_COST`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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`

- - ### Field Detail

    - #### WORD_COST

          public static final int WORD_COST

      See Also:
        Constant Field Values

    - #### LEFT_ID

          public static final short LEFT_ID

      See Also:
        Constant Field Values

    - #### RIGHT_ID

          public static final short RIGHT_ID

      See Also:
        Constant Field Values

    - #### RIGHT_ID_T

          public static final short RIGHT_ID_T

      See Also:
        Constant Field Values

    - #### RIGHT_ID_F

          public static final short RIGHT_ID_F

      See Also:
        Constant Field Values

  - ### 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`

Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.