blob: 9591a0ea20c432e66430335c3fe398fbf7be5f02 [file] [log] [blame]
package de.ids_mannheim.korap.misc;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.io.IOException;
import jakarta.annotation.PostConstruct;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import de.ids_mannheim.korap.KrillCollection;
import de.ids_mannheim.korap.config.KustvaktConfiguration;
import de.ids_mannheim.korap.config.SpringJerseyTest;
import de.ids_mannheim.korap.exceptions.KustvaktException;
import de.ids_mannheim.korap.query.serialize.CollectionQueryProcessor;
import de.ids_mannheim.korap.utils.JsonUtils;
import de.ids_mannheim.korap.utils.KoralCollectionQueryBuilder;
import de.ids_mannheim.korap.web.SearchKrill;
/**
* @author hanl
* @date 14/01/2016
*/
public class LocalQueryTest extends SpringJerseyTest {
private static String index;
@Autowired
KustvaktConfiguration config;
@PostConstruct
public void setup () throws Exception {
index = config.getIndexDir();
}
@Test
public void testQuery () throws KustvaktException {
String qstring = "creationDate since 1786 & creationDate until 1788";
// qstring = "creationDate since 1765 & creationDate until 1768";
// qstring = "textType = Aphorismus";
// qstring = "title ~ \"Werther\"";
SearchKrill krill = new SearchKrill(index);
KoralCollectionQueryBuilder coll = new KoralCollectionQueryBuilder();
coll.with(qstring);
String stats = krill.getStatistics(coll.toJSON());
assert stats != null && !stats.isEmpty() && !stats.equals("null");
}
@Test
public void testCollQuery () throws IOException, KustvaktException {
String qstring = "creationDate since 1800 & creationDate until 1820";
CollectionQueryProcessor processor = new CollectionQueryProcessor();
processor.process(qstring);
String s = JsonUtils.toJSON(processor.getRequestMap());
KrillCollection c = new KrillCollection(s);
c.setIndex(new SearchKrill(index).getIndex());
long docs = c.numberOf("documents");
assert docs > 0 && docs < 15;
}
@Test
public void testCollQuery2 () throws IOException {
String query = "{\"@context\":\"http://korap.ids-mannheim.de/ns/koral/0.3/context.jsonld\",\"errors\":[],\"warnings\":[],\"messages\":[],\"collection\":{\"@type\":\"koral:docGroup\",\"operation\":\"operation:and\",\"operands\":[{\"@type\":\"koral:doc\",\"key\":\"creationDate\",\"type\":\"type:date\",\"value\":\"1786\",\"match\":\"match:geq\"},{\"@type\":\"koral:doc\",\"key\":\"creationDate\",\"type\":\"type:date\",\"value\":\"1788\",\"match\":\"match:leq\"}]},\"query\":{},\"meta\":{}}";
KrillCollection c = new KrillCollection(query);
c.setIndex(new SearchKrill(index).getIndex());
long sent = c.numberOf("base/sentences");
long docs = c.numberOf("documents");
assertNotNull(sent);
assertNotNull(docs);
}
}