blob: 04768b04f80c19c0095bb51b73f173b87a88b686 [file] [log] [blame]
Eliza Margaretha67a88572014-11-04 14:38:56 +00001package de.ids_mannheim.korap.highlight;
2
3import static org.junit.Assert.assertEquals;
4import static org.junit.Assert.fail;
5
Akron798e6a22018-06-18 15:29:35 +02006import java.io.*;
Akron67d2ff02018-06-19 10:51:16 +02007import static de.ids_mannheim.korap.TestSimple.*;
Eliza Margaretha67a88572014-11-04 14:38:56 +00008
Eliza Margarethab698f822014-11-12 10:14:21 +00009import org.apache.lucene.search.spans.SpanQuery;
Eliza Margaretha67a88572014-11-04 14:38:56 +000010import org.junit.Test;
11
Nils Diewalda14ecd62015-02-26 21:00:20 +000012import de.ids_mannheim.korap.KrillIndex;
Nils Diewald392bcf32015-02-26 20:01:17 +000013import de.ids_mannheim.korap.response.Match;
Nils Diewald0339d462015-02-26 14:53:56 +000014import de.ids_mannheim.korap.KrillQuery;
Nils Diewald884dbcf2015-02-27 17:02:28 +000015import de.ids_mannheim.korap.response.Result;
Nils Diewaldbbd39a52015-02-23 19:56:57 +000016import de.ids_mannheim.korap.Krill;
Eliza Margaretha67a88572014-11-04 14:38:56 +000017import de.ids_mannheim.korap.query.SpanNextQuery;
18import de.ids_mannheim.korap.query.wrap.SpanQueryWrapper;
19import de.ids_mannheim.korap.util.QueryException;
20
21
22public class TestClass {
Nils Diewaldbb33da22015-03-04 16:24:25 +000023 KrillIndex ki;
24 Result kr;
25 Krill ks;
Eliza Margaretha67a88572014-11-04 14:38:56 +000026
Nils Diewald11e91862014-11-12 16:29:18 +000027
Nils Diewald7d320642014-11-12 17:39:42 +000028 @Test
Nils Diewaldbb33da22015-03-04 16:24:25 +000029 public void queryJSONpoly1 () throws QueryException, IOException {
Nils Diewald7d320642014-11-12 17:39:42 +000030
Akron67d2ff02018-06-19 10:51:16 +020031 String jsonPath = getClass().getResource("/queries/poly1.json").getFile();
32 String jsonQuery = getJsonString(jsonPath);
Akron850b46e2016-06-08 10:08:55 +020033 SpanQueryWrapper sqwi = new KrillQuery("tokens").fromKoral(jsonQuery);
Nils Diewaldbb33da22015-03-04 16:24:25 +000034
35 SpanNextQuery sq = (SpanNextQuery) sqwi.toQuery();
36 //System.out.println(sq.toString());
37
38 ki = new KrillIndex();
39 ki.addDoc(getClass().getResourceAsStream("/wiki/JJJ-00785.json.gz"),
40 true);
41 ki.addDoc(getClass().getResourceAsStream("/wiki/DDD-01402.json.gz"),
42 true);
43 ki.commit();
44 kr = ki.search(sq, (short) 10);
45
46 assertEquals(61, kr.getMatch(0).getStartPos());
47 assertEquals(64, kr.getMatch(0).getEndPos());
48 assertEquals(
Akronf05fde62016-08-03 23:46:17 +020049 "... Bruckner (Wien) und Mathis Lussy (Paris). [[{1:Inspiriert} "
50 + "{2:durch die}]] additiven Modelle arabischer Rhythmik (er half ...",
Nils Diewaldbb33da22015-03-04 16:24:25 +000051 kr.getMatch(0).getSnippetBrackets());
52
53 assertEquals(31, kr.getMatch(1).getStartPos());
54 assertEquals(34, kr.getMatch(1).getEndPos());
55 assertEquals(
Akronf05fde62016-08-03 23:46:17 +020056 "... des Sendens wird ein unhörbarer Unterton [[{1:mitgesendet}, "
57 + "{2:auf den}]] das angesprochene Funkgerät reagiert. Die Abkürzung ...",
Nils Diewaldbb33da22015-03-04 16:24:25 +000058 kr.getMatch(1).getSnippetBrackets());
59 }
60
61
62 @Test
63 public void queryJSONpoly4 () throws QueryException, IOException {
64
Akron67d2ff02018-06-19 10:51:16 +020065 String jsonPath = getClass().getResource("/queries/poly4.json").getFile();
66 String jsonQuery = getJsonString(jsonPath);
Akron850b46e2016-06-08 10:08:55 +020067 SpanQueryWrapper sqwi = new KrillQuery("tokens").fromKoral(jsonQuery);
Nils Diewaldbb33da22015-03-04 16:24:25 +000068 SpanQuery sq = sqwi.toQuery();
69
70 // System.out.println(sq.toString());
71
72
73 ki = new KrillIndex();
74 ki.addDoc(getClass().getResourceAsStream("/wiki/SSS-09803.json.gz"),
75 true);
76
77 ki.commit();
78 kr = ki.search(sq, (short) 10);
79
80 /*
81 for (Match km : kr.getMatches()){
82 System.out.println(km.getStartPos() +","+km.getEndPos()+" "
83 +km.getSnippetBrackets()
84 );
85 }
86 */
margaretha4cfc89e2016-04-25 18:01:14 +020087 assertEquals((long) 5315, kr.getTotalResults());
Nils Diewaldbb33da22015-03-04 16:24:25 +000088 assertEquals(3, kr.getMatch(0).getStartPos());
89 assertEquals(5, kr.getMatch(0).getEndPos());
90
91 //fail("Tests have to be updated");
92 }
Eliza Margaretha67a88572014-11-04 14:38:56 +000093}