Commit dc35723f6dc6fc26d3f0cdfca06e6c01ebcd0715
1 parent
bec4bc6e
preparations dockerfile
Showing
8 changed files
with
200 additions
and
4 deletions
docker/schemaBasic.xml
@@ -6,6 +6,7 @@ | @@ -6,6 +6,7 @@ | ||
6 | <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> | 6 | <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> |
7 | <field name="type" type="text" required="false" multiValued="false" indexed="true" stored="true" /> | 7 | <field name="type" type="text" required="false" multiValued="false" indexed="true" stored="true" /> |
8 | <field name="title" type="text" required="false" multiValued="false" indexed="true" stored="true" /> | 8 | <field name="title" type="text" required="false" multiValued="false" indexed="true" stored="true" /> |
9 | + <field name="author" type="text" required="false" multiValued="false" indexed="true" stored="true" /> | ||
9 | <field name="genre" type="string" required="false" multiValued="true" indexed="true" stored="true" /> | 10 | <field name="genre" type="string" required="false" multiValued="true" indexed="true" stored="true" /> |
10 | <field name="text" type="mtas" required="false" multiValued="false" indexed="true" stored="true" /> | 11 | <field name="text" type="mtas" required="false" multiValued="false" indexed="true" stored="true" /> |
11 | 12 |
docker/schemaFull.xml
@@ -6,6 +6,7 @@ | @@ -6,6 +6,7 @@ | ||
6 | <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> | 6 | <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> |
7 | <field name="type" type="text" required="true" multiValued="false" indexed="true" stored="true" /> | 7 | <field name="type" type="text" required="true" multiValued="false" indexed="true" stored="true" /> |
8 | <field name="title" type="text" required="false" multiValued="false" indexed="true" stored="true" /> | 8 | <field name="title" type="text" required="false" multiValued="false" indexed="true" stored="true" /> |
9 | + <field name="author" type="text" required="false" multiValued="false" indexed="true" stored="true" /> | ||
9 | <field name="genre" type="string" required="false" multiValued="true" indexed="true" stored="true" /> | 10 | <field name="genre" type="string" required="false" multiValued="true" indexed="true" stored="true" /> |
10 | <field name="text" type="mtas" required="false" multiValued="false" indexed="true" stored="true" /> | 11 | <field name="text" type="mtas" required="false" multiValued="false" indexed="true" stored="true" /> |
11 | <field name="error" type="string" indexed="true" stored="true" /> | 12 | <field name="error" type="string" indexed="true" stored="true" /> |
docker/site/css/style.css
0 → 100644
1 | + | ||
2 | + | ||
3 | +div.post { | ||
4 | + color: #000000; | ||
5 | + background-color: #EEEEEE; | ||
6 | + border-color: #000000; | ||
7 | + border-width: 1px; | ||
8 | + border-style: solid; | ||
9 | + margin: 10px; | ||
10 | +} | ||
11 | + | ||
12 | +div.error { | ||
13 | + color: #FFFFFF; | ||
14 | + background-color: #FF0000; | ||
15 | + border-color: #000000; | ||
16 | + border-width: 1px; | ||
17 | + border-style: solid; | ||
18 | + margin: 10px; | ||
19 | +} | ||
20 | + | ||
21 | +div.output { | ||
22 | + color: #000000; | ||
23 | + background-color: #FFFFFF; | ||
24 | + border-color: #000000; | ||
25 | + border-width: 1px; | ||
26 | + border-style: solid; | ||
27 | + margin: 10px; | ||
28 | +} | ||
29 | + | ||
30 | +input.button { | ||
31 | + color: #000000; | ||
32 | + background-color: #DDDDDD; | ||
33 | + border-color: #000000; | ||
34 | + border-width: 1px; | ||
35 | + border-style: solid; | ||
36 | +} | ||
0 | \ No newline at end of file | 37 | \ No newline at end of file |
docker/site/example_demo1.html
0 → 100644
1 | +<!DOCTYPE html> | ||
2 | +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | ||
3 | + <head> | ||
4 | + <meta charset="UTF-8" /> | ||
5 | + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
6 | + <title>Multi Tier Annotation Search</title> | ||
7 | + <script type="text/javascript" src="./js/jquery-3.1.1.min.js"></script> | ||
8 | + <script type="text/javascript" src="./js/solr.js"></script> | ||
9 | + <link rel="stylesheet" type="text/css" href="css/style.css"> | ||
10 | + </head> | ||
11 | + <body> | ||
12 | + | ||
13 | + <script> | ||
14 | + $(document).ready(function() { | ||
15 | + $("#createIndex").click(function(){ | ||
16 | + var oThis = this; | ||
17 | + update("/solr/demo1/update?wt=json&commitWithin=1000", $("pre#createIndexPost").text(), $("div#createIndexOutput"), $("div#createIndexError"), $("#createIndex")); | ||
18 | + }); | ||
19 | + $("#deleteIndex").click(function(){ | ||
20 | + var oThis = this; | ||
21 | + update("/solr/demo1/update?wt=json&commitWithin=1000", $("pre#deleteIndexPost").text(), $("div#deleteIndexOutput"), $("div#deleteIndexError"), $("#deleteIndex")); | ||
22 | + }); | ||
23 | + }); | ||
24 | + | ||
25 | + </script> | ||
26 | + | ||
27 | + <h1>Multi Tier Annotation Search - example demo1</h1> | ||
28 | + | ||
29 | + <h3>Create index</h3> | ||
30 | + Post to /solr/demo1/update | ||
31 | + <div class="post"><pre id="createIndexPost">[{ "id": "1","author":"Nicolaas Beets","title":"Een onaangenaam mens in de Haarlemmerhout","text":"folia-samples/beets1.xml" }, | ||
32 | +{ "id": "2","author":"Nicolaas Beets","title":"Een oude kennis","text":"folia-samples/beets2.xml" }, | ||
33 | +{ "id": "3","author":"Nicolaas Beets","title":"Varen en Rijden","text":"folia-samples/beets3.xml" }]</pre></div> | ||
34 | + <input class="button" type="button" id="createIndex" value="create index" /> | ||
35 | + <div id="createIndexOutput" class="output"></div> | ||
36 | + <div id="createIndexError" class="error"></div> | ||
37 | + | ||
38 | + <h3>Empty index</h3> | ||
39 | + Post to /solr/demo1/update | ||
40 | + <div class="post"><pre id="deleteIndexPost">{ | ||
41 | + "delete": { | ||
42 | + "query": "*:*" | ||
43 | + } | ||
44 | +}</pre></div> | ||
45 | + <input class="button" type="button" id="deleteIndex" value="delete index" /> | ||
46 | + <div id="deleteIndexOutput" class="output"></div> | ||
47 | + <div id="deleteIndexError" class="error"></div> | ||
48 | + | ||
49 | + | ||
50 | + <h3>Basic stats</h3> | ||
51 | + | ||
52 | + | ||
53 | + <p> | ||
54 | + Go to <a href="index.html">main page</a>. | ||
55 | + </p> | ||
56 | + </body> | ||
57 | +</html> |
docker/site/example_demo2.html
0 → 100644
1 | +<!DOCTYPE html> | ||
2 | +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | ||
3 | + <head> | ||
4 | + <meta charset="UTF-8" /> | ||
5 | + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
6 | + <title>Multi Tier Annotation Search</title> | ||
7 | + <script type="text/javascript" src="./js/jquery-3.1.1.min.js"></script> | ||
8 | + </head> | ||
9 | + <body> | ||
10 | + <h1>Multi Tier Annotation Search - example demo2</h1> | ||
11 | + | ||
12 | + <p> | ||
13 | + Go to <a href="index.html">main page</a>. | ||
14 | + </p> | ||
15 | + </body> | ||
16 | +</html> |
docker/site/index.html
0 → 100644
1 | +<!DOCTYPE html> | ||
2 | +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | ||
3 | + <head> | ||
4 | + <meta charset="UTF-8" /> | ||
5 | + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
6 | + <title>Multi Tier Annotation Search</title> | ||
7 | + <script type="text/javascript" src="./js/jquery-3.1.1.min.js"></script> | ||
8 | + <script type="text/javascript" src="./js/solr.js"></script> | ||
9 | + <link rel="stylesheet" type="text/css" href="css/style.css"> | ||
10 | + </head> | ||
11 | + <body> | ||
12 | + <h1>Multi Tier Annotation Search</h1> | ||
13 | + | ||
14 | + <h3>Solr</h3> | ||
15 | + <ul> | ||
16 | + <li>Go directly to <a target="_blank" href="/solr/">Solr</a></li> | ||
17 | + <li>Go directly to <a target="_blank" href="/solr/#/demo1">Solr - demo1</a></li> | ||
18 | + <li>Go directly to <a target="_blank" href="/solr/#/demo2">Solr - demo2</a></li> | ||
19 | + </ul> | ||
20 | + | ||
21 | + <h3>Available folia</h3> | ||
22 | + <ul> | ||
23 | + <li><a target="_blank" href="/demo/folia-samples/beets1.xml">/demo/folia-samples/beets1.xml</a> - Nicolaas Beets, <em>Een onaangenaam mens in de Haarlemmerhout</em></li> | ||
24 | + <li><a target="_blank" href="/demo/folia-samples/beets2.xml">/demo/folia-samples/beets2.xml</a> - Nicolaas Beets, <em>Een oude kennis</em></li> | ||
25 | + <li><a target="_blank" href="/demo/folia-samples/beets3.xml">/demo/folia-samples/beets3.xml</a> - Nicolaas Beets, <em>Varen en Rijden</em></li> | ||
26 | + </ul> | ||
27 | + | ||
28 | + <h3>Examples</h3> | ||
29 | + <ul> | ||
30 | + <li><a href="example_demo1.html">Example demo1</a></li> | ||
31 | + <li><a href="example_demo2.html">Example demo2</a></li> | ||
32 | + </ul> | ||
33 | + </body> | ||
34 | +</html> |
docker/site/js/solr.js
0 → 100644
1 | +$(document).ready(function() { | ||
2 | + $("div.output").html("").hide(); | ||
3 | + $("div.error").html("").hide(); | ||
4 | +}); | ||
5 | + | ||
6 | +function update(url, json, output, error, button) { | ||
7 | + output.html("").hide(); | ||
8 | + error.html("<pre>waiting for response...</pre>").show(); | ||
9 | + button.hide(); | ||
10 | + $.ajax({ | ||
11 | + 'type' : 'POST', | ||
12 | + 'url' : url, | ||
13 | + 'contentType': 'application/json', | ||
14 | + 'data' : json, | ||
15 | + 'success' : function(data) { | ||
16 | + // create response | ||
17 | + try { | ||
18 | + var myObject = JSON.parse(data); | ||
19 | + error.hide(); | ||
20 | + output.html( | ||
21 | + '<pre>' | ||
22 | + + JSON.stringify(myObject, | ||
23 | + undefined, 2).replace(/&/g, | ||
24 | + '&').replace(/</g, | ||
25 | + '<').replace(/>/g, | ||
26 | + '>').replace(/"/g, | ||
27 | + '"') + '</pre>').show(); | ||
28 | + } catch (err) { | ||
29 | + error.html('<pre>'+data+'</pre>').show(); | ||
30 | + } | ||
31 | + button.show(); | ||
32 | + }, | ||
33 | + 'error' : function(jqXHR, textStatus, errorThrown) { | ||
34 | + error.html('<pre>'+ | ||
35 | + jqXHR.status + ' : ' + jqXHR.statusText+ ' : ' +jqXHR.responseText+'</pre>').show(); | ||
36 | + button.show(); | ||
37 | + } | ||
38 | + }); | ||
39 | +} | ||
40 | + |
src/docker/Dockerfile
@@ -19,7 +19,7 @@ USER root | @@ -19,7 +19,7 @@ USER root | ||
19 | 19 | ||
20 | WORKDIR "/root" | 20 | WORKDIR "/root" |
21 | 21 | ||
22 | -RUN mkdir lib && mkdir data && mkdir data/mtas | 22 | +RUN mkdir lib && mkdir data && mkdir data/mtas && mkdir folia-samples && mkdir site && mkdir site/js |
23 | 23 | ||
24 | ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/solrconfig.xml /root/data/ | 24 | ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/solrconfig.xml /root/data/ |
25 | ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/mtas.xml /root/data/ | 25 | ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/mtas.xml /root/data/ |
@@ -27,11 +27,17 @@ ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/mtas/ | @@ -27,11 +27,17 @@ ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/mtas/ | ||
27 | ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/mtas/demo_tei.xml /root/data/mtas/ | 27 | ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/mtas/demo_tei.xml /root/data/mtas/ |
28 | ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/schemaBasic.xml /root/data/ | 28 | ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/schemaBasic.xml /root/data/ |
29 | ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/schemaFull.xml /root/data/ | 29 | ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/schemaFull.xml /root/data/ |
30 | +ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/folia-samples/beets1.xml.gz /root/folia-samples/ | ||
31 | +ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/folia-samples/beets2.xml.gz /root/folia-samples/ | ||
32 | +ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/folia-samples/beets3.xml.gz /root/folia-samples/ | ||
33 | +ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/site/index.html /root/site/ | ||
34 | +ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/site/example_demo1.html /root/site/ | ||
35 | +ADD https://raw.githubusercontent.com/meertensinstituut/mtas/master/docker/site/js/solr.js /root/site/ | ||
30 | 36 | ||
31 | ADD http://archive.apache.org/dist/lucene/solr/${currentDevelopmentVersion}/solr-${currentDevelopmentVersion}.tgz /root/ | 37 | ADD http://archive.apache.org/dist/lucene/solr/${currentDevelopmentVersion}/solr-${currentDevelopmentVersion}.tgz /root/ |
32 | ADD http://apache.cs.uu.nl/commons/math/binaries/commons-math3-3.6.1-bin.tar.gz /root/lib/ | 38 | ADD http://apache.cs.uu.nl/commons/math/binaries/commons-math3-3.6.1-bin.tar.gz /root/lib/ |
33 | ADD https://github.com/meertensinstituut/mtas/releases/download/${currentDevelopmentRelease}/mtas-${currentDevelopmentVersion}.jar /root/lib/ | 39 | ADD https://github.com/meertensinstituut/mtas/releases/download/${currentDevelopmentRelease}/mtas-${currentDevelopmentVersion}.jar /root/lib/ |
34 | -ADD http://code.jquery.com/jquery-3.1.1.min.js /root/lib/ | 40 | +ADD http://code.jquery.com/jquery-3.1.1.min.js /root/site/js/ |
35 | 41 | ||
36 | RUN tar xzf lib/commons-math3-3.6.1-bin.tar.gz -C lib commons-math3-3.6.1/commons-math3-3.6.1.jar --strip-components=1 && rm lib/commons-math3-3.6.1-bin.tar.gz | 42 | RUN tar xzf lib/commons-math3-3.6.1-bin.tar.gz -C lib commons-math3-3.6.1/commons-math3-3.6.1.jar --strip-components=1 && rm lib/commons-math3-3.6.1-bin.tar.gz |
37 | 43 | ||
@@ -63,6 +69,13 @@ RUN service apache2 stop \ | @@ -63,6 +69,13 @@ RUN service apache2 stop \ | ||
63 | && a2enmod proxy_html \ | 69 | && a2enmod proxy_html \ |
64 | && sed -i '/<\/VirtualHost>/ i ProxyPass /solr http://localhost:8983/solr\nProxyPassReverse /solr http://localhost:8983/solr' /etc/apache2/sites-enabled/000-default.conf | 70 | && sed -i '/<\/VirtualHost>/ i ProxyPass /solr http://localhost:8983/solr\nProxyPassReverse /solr http://localhost:8983/solr' /etc/apache2/sites-enabled/000-default.conf |
65 | 71 | ||
72 | +RUN rm /var/www/html/index.html \ | ||
73 | +&& mkdir /var/www/html/demo \ | ||
74 | +&& cp -rp folia-samples /var/www/html/demo/ \ | ||
75 | +&& gunzip -r /var/www/html/demo \ | ||
76 | +&& cp -rp site/* /var/www/html/ \ | ||
77 | +&& chmod -R 755 /var/www/html \ | ||
78 | + | ||
66 | RUN printf "service solr start\nservice apache2 start\n" > /start.sh && chmod 755 /start.sh | 79 | RUN printf "service solr start\nservice apache2 start\n" > /start.sh && chmod 755 /start.sh |
67 | 80 | ||
68 | RUN mkdir demo1 && mkdir demo1/lib && mkdir demo1/conf && echo "name=demo1" > demo1/core.properties \ | 81 | RUN mkdir demo1 && mkdir demo1/lib && mkdir demo1/conf && echo "name=demo1" > demo1/core.properties \ |
@@ -79,5 +92,3 @@ CMD bash -C '/start.sh'; 'bash' | @@ -79,5 +92,3 @@ CMD bash -C '/start.sh'; 'bash' | ||
79 | 92 | ||
80 | 93 | ||
81 | 94 | ||
82 | - | ||
83 | - |