Class SynExpand

  extended by 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:

Constructor Summary
Method Summary
static Query expand(String query, Searcher syns, Analyzer a, String f, 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


public SynExpand()
Method Detail


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



public static Query expand(String query,
                           Searcher syns,
                           Analyzer a,
                           String f,
                           float boost)
                    throws IOException
Perform synonym expansion on a query.

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
f - 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
the expanded Query

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