Package org.apache.lucene.analysis.synonym

# Class SynonymMap.Builder

java.lang.Object
org.apache.lucene.analysis.synonym.SynonymMap.Builder

Direct Known Subclasses:
  `SynonymMap.Parser`

Enclosing class:
  `SynonymMap`

public static class SynonymMap.Builder extends Object
Builds an FSTSynonymMap.

Call add() until you have added all the mappings, then call build() to get an FSTSynonymMap

WARNING: This API is experimental and might change in incompatible ways in the next release.

## Constructor Summary

Constructors
Constructor
Description
`Builder()`
Default constructor, passes `dedup=true`.
`Builder(boolean dedup)`
If dedup is true then identical rules (same input, same output) will be added only once.

## Method Summary

Modifier and Type
Method
Description
`void`
`add(CharsRef input, CharsRef output, boolean includeOrig)`
Add a phrase->phrase synonym mapping.
`SynonymMap`
`build()`
Builds an `SynonymMap` and returns it.
`static CharsRef`
`join(String[] words, CharsRefBuilder reuse)`
Sugar: just joins the provided terms with `SynonymMap.WORD_SEPARATOR`.

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

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

## Constructor Details

### Builder

public Builder()
Default constructor, passes `dedup=true`.

### Builder

public Builder(boolean dedup)
If dedup is true then identical rules (same input, same output) will be added only once.

## Method Details

### join

public static CharsRef join(String[] words, CharsRefBuilder reuse)
Sugar: just joins the provided terms with `SynonymMap.WORD_SEPARATOR`. reuse and its chars must not be null.

### add

public void add(CharsRef input, CharsRef output, boolean includeOrig)
Add a phrase->phrase synonym mapping. Phrases are character sequences where words are separated with character zero (U+0000). Empty words (two U+0000s in a row) are not allowed in the input nor the output!

Parameters:
  `input` - input phrase
  `output` - output phrase
  `includeOrig` - true if the original should be included

### build

public SynonymMap build() throws IOException
Builds an `SynonymMap` and returns it.

Throws:
  `IOException`