use of won.matcher.solr.query.factory.BasicAtomQueryFactory in project webofneeds by researchstudio-sat.
the class SolrMatcherQueryTest method main.
public static void main(String[] args) throws IOException, InterruptedException, JsonLdError, SolrServerException {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(SolrTestAppConfiguration.class);
HintBuilder hintBuilder = ctx.getBean(HintBuilder.class);
// DefaultMatcherQueryExecuter queryExecutor =
// ctx.getBean(DefaultMatcherQueryExecuter.class);
TestMatcherQueryExecutor queryExecutor = ctx.getBean(TestMatcherQueryExecutor.class);
// set the options of the atom producer (e.g. if it should exhaust) in the
// SolrAtomIndexerAppConfiguration file
AtomProducer atomProducer = ctx.getBean(RoundRobinCompositeAtomProducer.class);
while (!atomProducer.isExhausted()) {
// && atoms < 20) {
Dataset ds = atomProducer.create();
try {
TestAtomQueryFactory atomQuery = new TestAtomQueryFactory(ds);
String query = atomQuery.createQuery();
System.out.println("execute query: " + query);
SolrDocumentList docs = queryExecutor.executeAtomQuery(query, 20, null, new BasicAtomQueryFactory(ds).createQuery());
SolrDocumentList matchedDocs = hintBuilder.calculateMatchingResults(docs);
System.out.println("Found docs: " + ((docs != null) ? docs.size() : 0) + ", keep docs: " + ((matchedDocs != null) ? matchedDocs.size() : 0));
if (docs == null) {
continue;
}
System.out.println("Keep docs: ");
System.out.println("======================");
for (SolrDocument doc : matchedDocs) {
String score = doc.getFieldValue("score").toString();
String matchedAtomId = doc.getFieldValue("id").toString();
System.out.println("Score: " + score + ", Id: " + matchedAtomId);
}
System.out.println("All docs: ");
System.out.println("======================");
for (SolrDocument doc : docs) {
String score = doc.getFieldValue("score").toString();
String matchedAtomId = doc.getFieldValue("id").toString();
System.out.println("Score: " + score + ", Id: " + matchedAtomId);
}
} catch (SolrException e) {
System.err.println(e);
}
}
System.exit(0);
}
use of won.matcher.solr.query.factory.BasicAtomQueryFactory in project webofneeds by researchstudio-sat.
the class SolrMatcherEvaluation method computeMatchingAtoms.
private List<String> computeMatchingAtoms(Dataset atom) throws IOException, SolrServerException {
TestAtomQueryFactory atomQuery = new TestAtomQueryFactory(atom);
SolrDocumentList docs = queryExecutor.executeAtomQuery(atomQuery.createQuery(), 20, null, new BasicAtomQueryFactory(atom).createQuery());
SolrDocumentList matchedDocs = hintBuilder.calculateMatchingResults(docs);
List<String> matchedAtoms = new LinkedList<>();
for (SolrDocument doc : matchedDocs) {
String matchedAtomId = doc.getFieldValue("id").toString();
matchedAtoms.add(matchedAtomId);
}
return matchedAtoms;
}
Aggregations