public class CheckHits extends Object
Modifier and Type | Class and Description |
---|---|
static class |
CheckHits.ExplanationAsserter
Asserts that the score explanation for every document matching a
query corresponds with the true score.
|
static class |
CheckHits.ExplanationAssertingSearcher
an IndexSearcher that implicitly checks hte explanation of every match
whenever it executes a search.
|
static class |
CheckHits.SetCollector
Just collects document ids into a set.
|
Modifier and Type | Field and Description |
---|---|
static float |
EXPLAIN_SCORE_TOLERANCE_DELTA
Some explains methods calculate their values though a slightly
different order of operations from the actual scoring method ...
|
static float |
EXPLAIN_SCORE_TOLERANCE_MINIMUM
In general we use a relative epsilon, but some tests do crazy things
like boost documents with 0, creating tiny tiny scores where the
relative difference is large but the absolute difference is tiny.
|
Constructor and Description |
---|
CheckHits() |
Modifier and Type | Method and Description |
---|---|
static void |
checkDocIds(String mes,
int[] results,
ScoreDoc[] hits)
Tests that a Hits has an expected order of documents
|
static void |
checkEqual(Query query,
ScoreDoc[] hits1,
ScoreDoc[] hits2) |
static void |
checkExplanations(Query query,
String defaultFieldName,
IndexSearcher searcher)
Asserts that the explanation value for every document matching a
query corresponds with the true score.
|
static void |
checkExplanations(Query query,
String defaultFieldName,
IndexSearcher searcher,
boolean deep)
Asserts that the explanation value for every document matching a
query corresponds with the true score.
|
static void |
checkHitCollector(Random random,
Query query,
String defaultFieldName,
IndexSearcher searcher,
int[] results)
Tests that a query matches the an expected set of documents using a
HitCollector.
|
static void |
checkHits(Random random,
Query query,
String defaultFieldName,
IndexSearcher searcher,
int[] results)
Tests that a query matches the an expected set of documents using Hits.
|
static void |
checkHitsQuery(Query query,
ScoreDoc[] hits1,
ScoreDoc[] hits2,
int[] results)
Tests that two queries have an expected order of documents,
and that the two queries have the same score values.
|
static void |
checkNoMatchExplanations(Query q,
String defaultFieldName,
IndexSearcher searcher,
int[] results)
Tests that all documents up to maxDoc which are *not* in the
expected result set, have an explanation which indicates that
the document does not match
|
static float |
explainToleranceDelta(float f1,
float f2)
returns a reasonable epsilon for comparing two floats,
where minor differences are acceptable such as score vs.
|
static String |
hits2str(ScoreDoc[] hits1,
ScoreDoc[] hits2,
int start,
int end) |
static String |
topdocsString(TopDocs docs,
int start,
int end) |
static void |
verifyExplanation(String q,
int doc,
float score,
boolean deep,
Explanation expl)
Assert that an explanation has the expected score, and optionally that its
sub-details max/sum/factor match to that score.
|
public static float EXPLAIN_SCORE_TOLERANCE_DELTA
public static float EXPLAIN_SCORE_TOLERANCE_MINIMUM
public static void checkNoMatchExplanations(Query q, String defaultFieldName, IndexSearcher searcher, int[] results) throws IOException
IOException
public static void checkHitCollector(Random random, Query query, String defaultFieldName, IndexSearcher searcher, int[] results) throws IOException
Note that when using the HitCollector API, documents will be collected if they "match" regardless of what their score is.
query
- the query to testsearcher
- the searcher to test the query againstdefaultFieldName
- used for displaying the query in assertion messagesresults
- a list of documentIds that must match the queryIOException
checkHits(java.util.Random, org.apache.lucene.search.Query, java.lang.String, org.apache.lucene.search.IndexSearcher, int[])
public static void checkHits(Random random, Query query, String defaultFieldName, IndexSearcher searcher, int[] results) throws IOException
Note that when using the Hits API, documents will only be returned if they have a positive normalized score.
query
- the query to testsearcher
- the searcher to test the query againstdefaultFieldName
- used for displaing the query in assertion messagesresults
- a list of documentIds that must match the queryIOException
checkHitCollector(java.util.Random, org.apache.lucene.search.Query, java.lang.String, org.apache.lucene.search.IndexSearcher, int[])
public static void checkDocIds(String mes, int[] results, ScoreDoc[] hits)
public static void checkHitsQuery(Query query, ScoreDoc[] hits1, ScoreDoc[] hits2, int[] results)
public static void checkExplanations(Query query, String defaultFieldName, IndexSearcher searcher) throws IOException
query
- the query to testsearcher
- the searcher to test the query againstdefaultFieldName
- used for displaing the query in assertion messagesIOException
CheckHits.ExplanationAsserter
,
for a
"deep" testing of the explanation details.
public static void checkExplanations(Query query, String defaultFieldName, IndexSearcher searcher, boolean deep) throws IOException
query
- the query to testsearcher
- the searcher to test the query againstdefaultFieldName
- used for displaing the query in assertion messagesdeep
- indicates whether a deep comparison of sub-Explanation details should be executedIOException
CheckHits.ExplanationAsserter
public static float explainToleranceDelta(float f1, float f2)
public static void verifyExplanation(String q, int doc, float score, boolean deep, Explanation expl)
q
- String representation of the query for assertion messagesdoc
- Document ID for assertion messagesscore
- Real score value of doc with query qdeep
- indicates whether a deep comparison of sub-Explanation details should be executedexpl
- The Explanation to match against scoreCopyright © 2000-2016 Apache Software Foundation. All Rights Reserved.