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