public class OxygenMain
extends java.lang.Object
Modifier and Type | Field | Description |
---|---|---|
private static java.lang.String |
BODY_FIELD |
|
private static java.lang.String |
CATEGORY_FIELD |
|
private static float |
DEFAULT_LAMBDA |
|
private static long |
endIndexing |
|
private static long |
endQueryParse |
|
private static long |
endSearch |
|
private static float |
lambda |
|
private static long |
overallTime |
|
private static java.lang.String |
PATH_TO_ANSWERS_OUTPUT |
|
private static java.lang.String |
PATH_TO_INDEX1 |
|
private static java.lang.String |
PATH_TO_INDEX2 |
|
private static java.lang.String |
PATH_TO_JSON |
|
private static java.lang.String |
PATH_TO_QUESTIONS |
|
private static java.lang.String |
PATH_TO_QUESTIONS_MAIN |
|
private static org.apache.lucene.search.similarities.Similarity[] |
similarities |
|
private static org.apache.lucene.search.similarities.MultiSimilarity |
similarity |
|
private static long |
startIndexing |
|
private static long |
startQueryParse |
|
private static long |
startSearch |
|
private static org.apache.lucene.document.FieldType |
termVector_t |
Constructor | Description |
---|---|
OxygenMain() |
Modifier and Type | Method | Description |
---|---|---|
private static void |
appendToJson(QuestionAnswered q,
java.io.FileWriter writer,
boolean last) |
Appends answers to json file, and a comma if the line is not last
|
private static float |
calculateLambda() |
Calculates lambda \lambda = 1 - \displaystyle\dfrac{1}{n}\sum_{q \in C_q}{\vert d \vert}
|
private static java.util.List<Answer> |
createAnswersArray(org.apache.lucene.search.IndexSearcher searcher,
org.apache.lucene.search.Query q,
org.apache.lucene.search.TopDocs topDocs) |
|
private static void |
createQuestionsJson(java.lang.String filename) |
Extracts questions from raw data and writes them to new json file
|
private static void |
indexCorpus(org.apache.lucene.store.Directory dir,
java.lang.String jsonPath,
org.apache.lucene.analysis.Analyzer analyzer,
org.apache.lucene.search.similarities.Similarity similarity) |
Writes the corpus to given directory from given json file using given analyzer and similarity
|
static void |
main(java.lang.String[] args) |
|
private static org.apache.lucene.index.IndexWriterConfig |
newIndexWriterConfig(org.apache.lucene.analysis.Analyzer analyzer,
org.apache.lucene.search.similarities.Similarity similarity) |
Creates index writer with provided analyzer and similarity
|
private static void |
printCorpus(java.util.List<java.lang.String> corpus) |
|
private static void |
printQueryInfo(java.lang.String originalQuery,
java.lang.String preFilteredQuery,
org.apache.lucene.search.Query parsedQuery,
long endQueryParseMillis,
long startQueryParseMillis) |
Outputs query breackdown to the screen
|
private static void |
printSearchResults(org.apache.lucene.search.TopDocs td,
org.apache.lucene.search.Query q,
org.apache.lucene.index.DirectoryReader reader,
org.apache.lucene.search.IndexSearcher searcher,
long searchTimeMillis,
long overallTimeMillis) |
|
private static java.util.List<Answer> |
search(org.apache.lucene.index.DirectoryReader reader,
java.lang.String queryString,
java.lang.String preFilteredQuery,
OxygenAnalyzerBase analyzer) |
Main search function
|
private static final java.lang.String PATH_TO_JSON
private static final java.lang.String PATH_TO_INDEX1
private static final java.lang.String PATH_TO_INDEX2
private static final java.lang.String PATH_TO_QUESTIONS
private static final java.lang.String PATH_TO_QUESTIONS_MAIN
private static final java.lang.String PATH_TO_ANSWERS_OUTPUT
private static final float DEFAULT_LAMBDA
private static final java.lang.String BODY_FIELD
private static final java.lang.String CATEGORY_FIELD
private static final org.apache.lucene.document.FieldType termVector_t
private static long overallTime
private static long startIndexing
private static long endIndexing
private static long startQueryParse
private static long endQueryParse
private static long startSearch
private static long endSearch
private static float lambda
private static org.apache.lucene.search.similarities.Similarity[] similarities
private static org.apache.lucene.search.similarities.MultiSimilarity similarity
public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
private static org.apache.lucene.index.IndexWriterConfig newIndexWriterConfig(org.apache.lucene.analysis.Analyzer analyzer, org.apache.lucene.search.similarities.Similarity similarity)
analyzer
- Analyzer usedsimilarity
- Similarity usedprivate static void indexCorpus(org.apache.lucene.store.Directory dir, java.lang.String jsonPath, org.apache.lucene.analysis.Analyzer analyzer, org.apache.lucene.search.similarities.Similarity similarity)
dir
- jsonPath
- analyzer
- similarity
- private static java.util.List<Answer> search(org.apache.lucene.index.DirectoryReader reader, java.lang.String queryString, java.lang.String preFilteredQuery, OxygenAnalyzerBase analyzer) throws java.io.IOException, org.apache.lucene.queryparser.classic.ParseException, OxygenNotFound
reader
- queryString
- preFilteredQuery
- analyzer
- java.io.IOException
org.apache.lucene.queryparser.classic.ParseException
OxygenNotFound
private static java.util.List<Answer> createAnswersArray(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.search.Query q, org.apache.lucene.search.TopDocs topDocs) throws java.io.IOException
java.io.IOException
private static void appendToJson(QuestionAnswered q, java.io.FileWriter writer, boolean last)
q
- writer
- private static void createQuestionsJson(java.lang.String filename) throws java.io.IOException
filename
- java.io.IOException
private static float calculateLambda()
private static void printCorpus(java.util.List<java.lang.String> corpus)
private static void printQueryInfo(java.lang.String originalQuery, java.lang.String preFilteredQuery, org.apache.lucene.search.Query parsedQuery, long endQueryParseMillis, long startQueryParseMillis)
originalQuery
- preFilteredQuery
- parsedQuery
- endQueryParseMillis
- startQueryParseMillis
- private static void printSearchResults(org.apache.lucene.search.TopDocs td, org.apache.lucene.search.Query q, org.apache.lucene.index.DirectoryReader reader, org.apache.lucene.search.IndexSearcher searcher, long searchTimeMillis, long overallTimeMillis) throws java.io.IOException
java.io.IOException