Mercurial > hg > fulltextSearchServer
comparison src/de/mpiwg/dwinter/fulltextSearchServer/SearchTicket.java @ 1:83e9a828e794
Version mit integrierter Suche ?ber XML-Volltexte
author | dwinter |
---|---|
date | Wed, 26 Jan 2011 14:41:34 +0100 |
parents | db87c1b7eb6d |
children |
comparison
equal
deleted
inserted
replaced
0:db87c1b7eb6d | 1:83e9a828e794 |
---|---|
1 package de.mpiwg.dwinter.fulltextSearchServer; | 1 package de.mpiwg.dwinter.fulltextSearchServer; |
2 | 2 |
3 import java.io.File; | 3 import java.io.File; |
4 import java.io.IOException; | 4 import java.io.IOException; |
5 import java.io.UnsupportedEncodingException; | 5 import java.io.UnsupportedEncodingException; |
6 import java.net.URLDecoder; | |
7 import java.util.List; | |
6 import java.util.Properties; | 8 import java.util.Properties; |
7 import java.util.concurrent.ConcurrentMap; | 9 import java.util.concurrent.ConcurrentMap; |
8 | 10 |
9 import org.apache.log4j.Logger; | 11 import org.apache.log4j.Logger; |
10 import org.apache.lucene.index.CorruptIndexException; | 12 import org.apache.lucene.index.CorruptIndexException; |
13 import org.apache.lucene.search.Query; | |
11 import org.apache.lucene.store.LockObtainFailedException; | 14 import org.apache.lucene.store.LockObtainFailedException; |
12 import org.restlet.Context; | 15 import org.restlet.Context; |
13 import org.restlet.data.Form; | 16 import org.restlet.data.Form; |
14 import org.restlet.data.MediaType; | 17 import org.restlet.data.MediaType; |
15 import org.restlet.data.Status; | 18 import org.restlet.data.Status; |
25 | 28 |
26 import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeUtility; | 29 import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeUtility; |
27 | 30 |
28 | 31 |
29 import de.mpiwg.dwinter.fulltext.search.FulltextSearchDocsLines; | 32 import de.mpiwg.dwinter.fulltext.search.FulltextSearchDocsLines; |
33 import de.mpiwg.dwinter.fulltext.search.IFulltextSearchDocsLines; | |
34 import de.mpiwg.dwinter.fulltext.search.utils.OCRDoc; | |
35 import de.mpiwg.dwinter.fulltext.search.xmlsearchadapter.XMLSearchServerAdapter; | |
30 import de.mpiwg.dwinter.fulltext.ticket.TicketWriter; | 36 import de.mpiwg.dwinter.fulltext.ticket.TicketWriter; |
31 import de.mpiwg.dwinter.fulltextSearchServer.Utils.ConfigurationManager; | 37 import de.mpiwg.dwinter.fulltextSearchServer.Utils.ConfigurationManager; |
32 import de.mpiwg.dwinter.fulltextSearchServer.searchThreads.SearchInlinesThread; | 38 import de.mpiwg.dwinter.fulltextSearchServer.searchThreads.SearchInlinesThread; |
33 | 39 |
34 | 40 |
101 //now do the search | 107 //now do the search |
102 Form searchForm = new Form(search); | 108 Form searchForm = new Form(search); |
103 | 109 |
104 //String ticket = generateTicket(); | 110 //String ticket = generateTicket(); |
105 String searchString=searchForm.getValues("searchString"); | 111 String searchString=searchForm.getValues("searchString"); |
106 String languages=searchForm.getValues("languages"); // language der form la1_la2_la3___ | 112 String languages; |
113 try { | |
114 languages = URLDecoder.decode(searchForm.getValues("languages"),"utf-8"); | |
115 } catch (UnsupportedEncodingException e1) { | |
116 // TODO Auto-generated catch block | |
117 e1.printStackTrace(); | |
118 languages=""; | |
119 } // language der form la1_la2_la3___ | |
107 String searchMetaData=searchForm.getValues("searchMetaData"); | 120 String searchMetaData=searchForm.getValues("searchMetaData"); |
108 //no Searchstring | 121 //no Searchstring |
109 if (searchString==null || languages==null ) | 122 if (searchString==null || languages==null ) |
110 return null; | 123 return null; |
111 | 124 |
144 } else { | 157 } else { |
145 fulltextSearcher = (FulltextSearchDocsLines) attrs.get("searcher"); | 158 fulltextSearcher = (FulltextSearchDocsLines) attrs.get("searcher"); |
146 } | 159 } |
147 | 160 |
148 | 161 |
162 IFulltextSearchDocsLines[] fulltextSearchers = new IFulltextSearchDocsLines[]{fulltextSearcher, new XMLSearchServerAdapter()}; | |
163 | |
164 | |
149 | 165 |
150 String[] langs = languages.split("_"); | 166 String[] langs = languages.split("_"); |
151 | 167 |
152 for (String lang: langs){ | 168 for (String lang: langs){ |
153 SearchInlinesThread st = new SearchInlinesThread(fulltextSearcher, searchString, searchMetaData,lang,ticket); | 169 SearchInlinesThread st = new SearchInlinesThread(fulltextSearchers, searchString, searchMetaData,lang,ticket); |
154 st.start(); | 170 st.start(); |
155 } | 171 } |
156 | 172 |
157 String htmlTicket = wrapHTML(ticket); | 173 String htmlTicket = wrapHTML(ticket); |
158 Representation representation = new StringRepresentation(htmlTicket,MediaType.TEXT_HTML); | 174 Representation representation = new StringRepresentation(htmlTicket,MediaType.TEXT_HTML); |