solr score is supplied. + assert before use & test casepull/91/head
parent
242707f9b4
commit
e68b00678e
@ -0,0 +1,52 @@
|
||||
package net.yacy.search.ranking;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.MalformedURLException;
|
||||
import net.yacy.cora.document.analysis.Classification;
|
||||
import net.yacy.cora.document.id.DigestURL;
|
||||
import net.yacy.cora.util.SpaceExceededException;
|
||||
import net.yacy.kelondro.data.meta.URIMetadataNode;
|
||||
import net.yacy.search.schema.CollectionConfiguration;
|
||||
import org.apache.solr.common.SolrInputDocument;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import org.junit.Test;
|
||||
|
||||
public class ReferenceOrderTest {
|
||||
|
||||
|
||||
/**
|
||||
* Test of cardinal method for URIMetadataNodes, of class ReferenceOrder.
|
||||
* (only used if no Solr score supplied)
|
||||
*/
|
||||
@Test
|
||||
public void testCardinal_URIMetadataNode() throws MalformedURLException, IOException, SpaceExceededException {
|
||||
File config = new File("defaults/solr.collection.schema");
|
||||
CollectionConfiguration cc = new CollectionConfiguration(config, true);
|
||||
|
||||
/**
|
||||
* simple test of score result with default and zero ranking coefficient
|
||||
*/
|
||||
RankingProfile rpText = new RankingProfile(Classification.ContentDomain.TEXT); // default text profile
|
||||
RankingProfile rpZero = new RankingProfile(Classification.ContentDomain.TEXT);
|
||||
rpZero.allZero(); // sets all ranking factors to 0
|
||||
|
||||
ReferenceOrder roText = new ReferenceOrder(rpText, "xx"); // use unknown language
|
||||
ReferenceOrder roZero = new ReferenceOrder(rpZero, "xx"); // use unknown language
|
||||
|
||||
DigestURL url = new DigestURL("http://test.org/index.html");
|
||||
URIMetadataNode uri = new URIMetadataNode(url);
|
||||
|
||||
// to simulate document retrieved from index, follow transformation as in storeToIndex
|
||||
SolrInputDocument sid = cc.metadata2solr(uri);
|
||||
// generate a node for further testing
|
||||
URIMetadataNode testuri = new URIMetadataNode(cc.toSolrDocument(sid));
|
||||
|
||||
long scoreText = roText.cardinal(testuri); // score with text profile
|
||||
long scoreZero = roZero.cardinal(testuri); // score 0-profile
|
||||
|
||||
assertTrue("Zero-Score larger as Text-Score", scoreText >= scoreZero);
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in new issue