public class WikiIndex
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
defaultIndexPath |
static int |
defaultMaxHits |
static java.lang.String |
defaultSearchField |
private java.lang.String |
indexPath |
private IndexReader |
indexReader |
private IndexSearcher |
indexSearcher |
private Cache |
lastQuery |
private int |
maxHits |
private int |
numDocs |
private QueryParser |
queryParser |
private java.lang.String |
searchField |
private DefaultSimilarity |
similarity |
private Analyzer |
standardAnalyzer |
private boolean |
useCache |
Constructor and Description |
---|
WikiIndex() |
WikiIndex(int maxHits,
java.lang.String indexPath,
java.lang.String searchField) |
WikiIndex(int maxHits,
java.lang.String indexPath,
java.lang.String searchField,
boolean approximate) |
Modifier and Type | Method and Description |
---|---|
private java.util.HashMap<java.lang.String,java.lang.Double> |
addVectors(java.util.HashMap<java.lang.String,java.lang.Double> vector1,
java.util.HashMap<java.lang.String,java.lang.Double> vector2) |
void |
close() |
private double |
computeDotProduct(java.util.HashMap<java.lang.String,java.lang.Double> vector1,
java.util.HashMap<java.lang.String,java.lang.Double> vector2) |
private double |
computeEuclideanNorm(java.util.HashMap<java.lang.String,java.lang.Double> tfIdfVector) |
double |
getCosineSimilarity(java.lang.String queryText1,
java.lang.String queryText2)
Send two queries to the index.
|
java.util.ArrayList<Terms> |
getTermFreqVectors(java.lang.String queryString) |
private ScoreDoc |
handlePossibleRedirect(ScoreDoc scoreDoc)
Return the document to which the input document redirects.
|
void |
initialize() |
private java.util.HashMap<java.lang.String,java.lang.Double> |
makeTfIdfVector(java.util.ArrayList<Terms> termFreqVectors)
Return a hash table that maps terms to their tfidf values.
|
java.util.ArrayList<SearchResult> |
search(java.lang.String queryText)
Search the index.
|
public static int defaultMaxHits
public static java.lang.String defaultIndexPath
public static java.lang.String defaultSearchField
private int maxHits
private java.lang.String indexPath
private java.lang.String searchField
private IndexReader indexReader
private IndexSearcher indexSearcher
private Analyzer standardAnalyzer
private QueryParser queryParser
private DefaultSimilarity similarity
private int numDocs
private boolean useCache
private Cache lastQuery
public WikiIndex(int maxHits, java.lang.String indexPath, java.lang.String searchField, boolean approximate)
public WikiIndex(int maxHits, java.lang.String indexPath, java.lang.String searchField)
public WikiIndex()
public void initialize() throws CorruptIndexException, java.io.IOException
CorruptIndexException
java.io.IOException
public java.util.ArrayList<SearchResult> search(java.lang.String queryText) throws ParseException, java.io.IOException
org.apache.lucene.queryparser.classic.ParseException
ParseException
java.io.IOException
public double getCosineSimilarity(java.lang.String queryText1, java.lang.String queryText2) throws ParseException, java.io.IOException
ParseException
java.io.IOException
public java.util.ArrayList<Terms> getTermFreqVectors(java.lang.String queryString) throws ParseException, java.io.IOException
ParseException
java.io.IOException
private ScoreDoc handlePossibleRedirect(ScoreDoc scoreDoc) throws ParseException, CorruptIndexException, java.io.IOException
ParseException
CorruptIndexException
java.io.IOException
private java.util.HashMap<java.lang.String,java.lang.Double> makeTfIdfVector(java.util.ArrayList<Terms> termFreqVectors) throws java.io.IOException
java.io.IOException
private double computeEuclideanNorm(java.util.HashMap<java.lang.String,java.lang.Double> tfIdfVector)
private double computeDotProduct(java.util.HashMap<java.lang.String,java.lang.Double> vector1, java.util.HashMap<java.lang.String,java.lang.Double> vector2)
private java.util.HashMap<java.lang.String,java.lang.Double> addVectors(java.util.HashMap<java.lang.String,java.lang.Double> vector1, java.util.HashMap<java.lang.String,java.lang.Double> vector2)
public void close() throws java.io.IOException
java.io.IOException