blob: ef3a3f8db3fb7a43e046056b4472ce813ed56276 [file] [log] [blame]
Eliza Margaretha01929182014-02-19 11:48:59 +00001package de.ids_mannheim.korap.index;
2
Nils Diewaldf399a672013-11-18 17:55:22 +00003import java.util.*;
4import java.io.*;
5
6import org.apache.lucene.util.Version;
7import org.apache.lucene.util.BytesRef;
8import org.apache.lucene.util.Bits;
9
10import static org.junit.Assert.*;
11import org.junit.Test;
12import org.junit.Ignore;
13import org.junit.runner.RunWith;
14import org.junit.runners.JUnit4;
15
16import de.ids_mannheim.korap.KorapIndex;
17import de.ids_mannheim.korap.KorapQuery;
18import de.ids_mannheim.korap.index.FieldDocument;
19import de.ids_mannheim.korap.analysis.MultiTermTokenStream;
20
21@RunWith(JUnit4.class)
22public class TestKorapIndex {
23
24 @Test
25 public void indexExample () throws IOException {
26 KorapIndex ki = new KorapIndex();
27
Nils Diewald019e3972014-09-29 19:18:26 +000028 assertEquals(0, ki.numberOf("base", "documents"));
29 assertEquals(0, ki.numberOf("base", "tokens"));
30 assertEquals(0, ki.numberOf("base", "sentences"));
31 assertEquals(0, ki.numberOf("base", "paragraphs"));
32
Nils Diewaldf399a672013-11-18 17:55:22 +000033 FieldDocument fd = new FieldDocument();
34
35 fd.addString("name", "Peter");
36 fd.addInt("zahl1", 56);
37 fd.addInt("zahl2", "58");
38 fd.addText("teaser", "Das ist der Name der Rose");
39 fd.addTV("base", "ich bau", "[(0-3)s:ich|l:ich|p:PPER|-:sentences#-$<i>2][(4-7)s:bau|l:bauen|p:VVFIN]");
40 ki.addDoc(fd);
41
42 fd = new FieldDocument();
43
44 fd.addString("name", "Hans");
45 fd.addInt("zahl1", 14);
46 fd.addText("teaser", "Das Sein");
47
48 MultiTermTokenStream mtts = fd.newMultiTermTokenStream();
49 mtts.addMultiTermToken("s:wir#0-3", "l:wir", "p:PPER");
50 mtts.addMultiTermToken("s:sind#4-8", "l:sein", "p:VVFIN");
51 mtts.addMeta("sentences", (int) 5);
52 fd.addTV("base", "wir sind", mtts);
53
54 ki.addDoc(fd);
55
56 /* Save documents */
57 ki.commit();
58
Nils Diewaldbaf68c52013-11-20 13:22:19 +000059 assertEquals(2, ki.numberOf("base", "documents"));
60 assertEquals(7, ki.numberOf("base", "sentences"));
Nils Diewaldf399a672013-11-18 17:55:22 +000061
62
63 fd = new FieldDocument();
64
65 fd.addString("name", "Frank");
66 fd.addInt("zahl1", 59);
67 fd.addInt("zahl2", 65);
68 fd.addText("teaser", "Noch ein Versuch");
69 fd.addTV("base", "ich bau", "[(0-3)s:der|l:der|p:DET|-:sentences#-$<i>3][(4-8)s:baum|l:baum|p:NN]");
70 ki.addDoc(fd);
71
72 /* Save documents */
73 ki.commit();
74
Nils Diewaldbaf68c52013-11-20 13:22:19 +000075 assertEquals(3, ki.numberOf("base", "documents"));
76 assertEquals(10, ki.numberOf("base", "sentences"));
Nils Diewaldf399a672013-11-18 17:55:22 +000077
Nils Diewaldf399a672013-11-18 17:55:22 +000078 // KorapQuery kq = new KorapQuery("text");
79 // ki.search();
80 };
Nils Diewaldc82379b2014-10-02 14:58:18 +000081
82 @Test
83 public void indexAlteration () throws IOException {
84 KorapIndex ki = new KorapIndex();
85
86 assertEquals(0, ki.numberOf("base", "documents"));
87
88 FieldDocument fd = new FieldDocument();
89 fd.addString("name", "Peter");
90 ki.addDoc(fd);
91
92 assertEquals(0, ki.numberOf("base", "documents"));
93
94 fd = new FieldDocument();
95 fd.addString("name", "Michael");
96 ki.addDoc(fd);
97
98 assertEquals(0, ki.numberOf("base", "documents"));
99
100 ki.commit();
101
102 assertEquals(2, ki.numberOf("base", "documents"));
103
104 // hasDeletions, hasPendingMerges
105 };
Nils Diewaldf399a672013-11-18 17:55:22 +0000106};