Mercurial > hg > fulltextSearch
view 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 |
line wrap: on
line source
package de.mpiwg.dwinter.fulltext.tests; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Date; import java.util.HashMap; import javax.xml.parsers.ParserConfigurationException; import javax.xml.xpath.XPathExpressionException; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.document.Document; import org.apache.lucene.index.Term; import org.apache.lucene.queryParser.ParseException; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.Collector; import org.apache.lucene.search.Query; import org.apache.lucene.search.ScoreDoc; import org.apache.lucene.search.TermQuery; import org.apache.lucene.search.TopDocs; import org.apache.lucene.search.TopDocsCollector; import org.apache.lucene.util.Version; import org.xml.sax.SAXException; import de.mpiwg.dwinter.fulltext.search.FulltextSearch; import de.mpiwg.dwinter.fulltext.search.FulltextSearchDocsLines; import de.mpiwg.dwinter.fulltext.searcher.LanguageSearcher; public class TestSearchInLines { protected static Logger logger = Logger.getRootLogger(); public static void main(String[] args) throws IOException, ParseException, XPathExpressionException, ParserConfigurationException, SAXException { BasicConfigurator.configure(); logger.setLevel(Level.ALL); String usage = "search <index_dir> <line_index_dir> <language>"; if (args.length != 3) { System.err.println("Usage: " + usage); System.exit(1); } String queries = null; FulltextSearchDocsLines fulltextSearcher = new FulltextSearchDocsLines(new File(args[0]),new File(args[1])); BufferedReader in = null; if (queries != null) { in = new BufferedReader(new FileReader(queries)); } else { in = new BufferedReader(new InputStreamReader(System.in)); } while (true) { if (queries == null) // prompt the user System.out.println("Enter query: "); String line = in.readLine(); if (line == null || line.length() == -1) break; line = line.trim(); if (line.length() == 0) break; System.out.println("line: "+line); //Query query= new TermQuery(new Term("contents",line)); Analyzer analyzer = fulltextSearcher.languageSearchers.getSearcherByLanguage(args[2]).analyzer; QueryParser parser = new QueryParser(Version.LUCENE_30,"contents",analyzer); Query query= parser.parse(line); System.out.println(fulltextSearcher.searchInLines(query,args[2])); } } }