org.apache.lucene.wordnet
Class SynExpand

java.lang.Object
  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:
Syns2Index

Constructor Summary
SynExpand()
           
 
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

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 f,
                           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
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
Returns:
the expanded Query
Throws:
IOException


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