## org.apache.lucene.wordnet
Class SynExpand

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

    public final class SynExpand

extends 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
`SynExpand()`

Method Summary
`static Query` `expand(String query, Searcher syns, Analyzer a, String field, float boost)` Perform synonym expansion on a query.
`static void` `main(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(String[] args)
                     throws 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:
    `IOException`

### expand

    public static Query expand(String query,
                               Searcher syns,
                               Analyzer a,
                               String field,
                               float boost)
                        throws 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:
    `IOException`

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