org.apache.lucene.wordnet

## Class SynExpand

- java.lang.Object
- - org.apache.lucene.wordnet.SynExpand

-     public final class SynExpand
      extends java.lang.Object

  Expand a query by looking up synonyms for every term. You need to invoke `Syns2Index` first to build the synonym index.
  See Also:
    `Syns2Index`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SynExpand()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static org.apache.lucene.search.Query` | `expand(java.lang.String query, org.apache.lucene.search.Searcher syns, org.apache.lucene.analysis.Analyzer a, java.lang.String field, float boost)` Perform synonym expansion on a query.
    `static void` | `main(java.lang.String[] args)` Test driver for synonym expansion.

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

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

- - ### Constructor Detail

    - #### SynExpand

          public SynExpand()

  - ### Method Detail

    - #### main

          public static void main(java.lang.String[] args)
                           throws java.io.IOException

      Test driver for synonym expansion. Uses boost factor of 0.9 for illustrative purposes. If you pass in the query "big dog" then it prints out: `

           Query: big adult^0.9 bad^0.9 bighearted^0.9 boastful^0.9 boastfully^0.9 bounteous^0.9 bountiful^0.9 braggy^0.9 crowing^0.9 freehanded^0.9 giving^0.9 grown^0.9 grownup^0.9 handsome^0.9 large^0.9 liberal^0.9 magnanimous^0.9 momentous^0.9 openhanded^0.9 prominent^0.9 swelled^0.9 vainglorious^0.9 vauntingly^0.9
           dog andiron^0.9 blackguard^0.9 bounder^0.9 cad^0.9 chase^0.9 click^0.9 detent^0.9 dogtooth^0.9 firedog^0.9 frank^0.9 frankfurter^0.9 frump^0.9 heel^0.9 hotdog^0.9 hound^0.9 pawl^0.9 tag^0.9 tail^0.9 track^0.9 trail^0.9 weenie^0.9 wiener^0.9 wienerwurst^0.9

      `
      Throws:
        `java.io.IOException`

    - #### expand

          public static org.apache.lucene.search.Query expand(java.lang.String query,
                                                              org.apache.lucene.search.Searcher syns,
                                                              org.apache.lucene.analysis.Analyzer a,
                                                              java.lang.String field,
                                                              float boost)
                                                       throws java.io.IOException

      Perform synonym expansion on a query.
      Parameters:
        `query` - users query that is assumed to not have any "special" query syntax, thus it should be just normal words, so "big dog" makes sense, but a query like "title:foo^1.2" doesn't as this should presumably be passed directly to the default query parser.
        `syns` - a opened to the Lucene index you previously created with `Syns2Index`. The searcher is not closed or otherwise altered.
        `a` - optional analyzer used to parse the users query else `StandardAnalyzer` is used
        `field` - optional field name to search in or null if you want the default of "contents"
        `boost` - optional boost applied to synonyms else no boost is applied
      Returns:
        the expanded Query
      Throws:
        `java.io.IOException`

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