comparison src/de/mpiwg/dwinter/fulltext/tests/TestSearchInLines.java @ 1:5c9c31510f0c

CLOSED - # 16: Zeige nur eine konfigurierbare Anzahl von Treffern an. https://it-dev.mpiwg-berlin.mpg.de/tracs/pythonOcropusTools/ticket/16
author dwinter
date Wed, 03 Nov 2010 12:26:29 +0100
parents
children
comparison
equal deleted inserted replaced
0:72a015318a6d 1:5c9c31510f0c
1 package de.mpiwg.dwinter.fulltext.tests;
2
3 import java.io.BufferedReader;
4 import java.io.File;
5 import java.io.FileReader;
6 import java.io.IOException;
7 import java.io.InputStreamReader;
8 import java.util.Date;
9 import java.util.HashMap;
10
11 import javax.xml.parsers.ParserConfigurationException;
12 import javax.xml.xpath.XPathExpressionException;
13
14 import org.apache.log4j.BasicConfigurator;
15 import org.apache.log4j.Level;
16 import org.apache.log4j.Logger;
17 import org.apache.lucene.analysis.Analyzer;
18 import org.apache.lucene.document.Document;
19 import org.apache.lucene.index.Term;
20 import org.apache.lucene.queryParser.ParseException;
21 import org.apache.lucene.queryParser.QueryParser;
22 import org.apache.lucene.search.Collector;
23 import org.apache.lucene.search.Query;
24 import org.apache.lucene.search.ScoreDoc;
25 import org.apache.lucene.search.TermQuery;
26 import org.apache.lucene.search.TopDocs;
27 import org.apache.lucene.search.TopDocsCollector;
28 import org.apache.lucene.util.Version;
29 import org.xml.sax.SAXException;
30
31 import de.mpiwg.dwinter.fulltext.search.FulltextSearch;
32 import de.mpiwg.dwinter.fulltext.search.FulltextSearchDocsLines;
33 import de.mpiwg.dwinter.fulltext.searcher.LanguageSearcher;
34
35 public class TestSearchInLines {
36
37 protected static Logger logger = Logger.getRootLogger();
38
39 public static void main(String[] args) throws IOException, ParseException, XPathExpressionException, ParserConfigurationException, SAXException {
40
41
42 BasicConfigurator.configure();
43 logger.setLevel(Level.ALL);
44
45 String usage = "search <index_dir> <line_index_dir> <language>";
46 if (args.length != 3) {
47 System.err.println("Usage: " + usage);
48 System.exit(1);
49 }
50
51 String queries = null;
52 FulltextSearchDocsLines fulltextSearcher = new FulltextSearchDocsLines(new File(args[0]),new File(args[1]));
53
54 BufferedReader in = null;
55 if (queries != null) {
56 in = new BufferedReader(new FileReader(queries));
57 } else {
58 in = new BufferedReader(new InputStreamReader(System.in));
59 }
60
61 while (true) {
62 if (queries == null) // prompt the user
63 System.out.println("Enter query: ");
64
65 String line = in.readLine();
66
67 if (line == null || line.length() == -1)
68 break;
69
70 line = line.trim();
71 if (line.length() == 0)
72 break;
73
74 System.out.println("line: "+line);
75
76 //Query query= new TermQuery(new Term("contents",line));
77 Analyzer analyzer = fulltextSearcher.languageSearchers.getSearcherByLanguage(args[2]).analyzer;
78 QueryParser parser = new QueryParser(Version.LUCENE_30,"contents",analyzer);
79 Query query= parser.parse(line);
80 System.out.println(fulltextSearcher.searchInLines(query,args[2]));
81
82 }
83 }
84 }
85