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
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SynExpand
public SynExpand()
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 usedf
- 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.