List of usage examples for org.apache.lucene.search IndexSearcher IndexSearcher
public IndexSearcher(IndexReaderContext context)
From source file:aos.lucene.admin.SearcherManager.java
License:Apache License
public SearcherManager(Directory dir) throws IOException { currentSearcher = new IndexSearcher(DirectoryReader.open(dir)); warm(currentSearcher); }
From source file:aos.lucene.admin.SearcherManager.java
License:Apache License
public SearcherManager(IndexWriter writer) throws IOException { this.writer = writer; IndexReader reader = DirectoryReader.open(writer.getDirectory()); currentSearcher = new IndexSearcher(reader); warm(currentSearcher);//from w w w . j ava2s . c o m writer.getConfig().setMergedSegmentWarmer(new IndexWriter.IndexReaderWarmer() { public void warm(AtomicReader reader) throws IOException { SearcherManager.this.warm(new IndexSearcher(reader)); } }); }
From source file:aos.lucene.admin.SearcherManager.java
License:Apache License
public void maybeReopen() throws InterruptedException, IOException { startReopen();/*from w w w. j a v a2 s . c o m*/ try { final IndexSearcher searcher = get(); try { IndexReader newReader = currentSearcher.getIndexReader().reopen(); if (newReader != currentSearcher.getIndexReader()) { IndexSearcher newSearcher = new IndexSearcher(newReader); if (writer == null) { warm(newSearcher); } swapSearcher(newSearcher); } } finally { release(searcher); } } finally { doneReopen(); } }
From source file:aos.lucene.analysis.codec.MetaphoneAnalyzerTest.java
License:Apache License
public void testKoolKat() throws Exception { RAMDirectory directory = new RAMDirectory(); Analyzer analyzer = new MetaphoneReplacementAnalyzer(); IndexWriter writer = new IndexWriter(directory, analyzer, true, IndexWriter.MaxFieldLength.UNLIMITED); Document doc = new Document(); doc.add(new Field("contents", "cool cat", Field.Store.YES, Field.Index.ANALYZED)); writer.addDocument(doc);/*from www.j a v a 2 s.c om*/ writer.close(); IndexSearcher searcher = new IndexSearcher(directory); Query query = new QueryParser(Version.LUCENE_46, "contents", analyzer).parse("kool kat"); TopDocs hits = searcher.search(query, 1); assertEquals(1, hits.totalHits); int docID = hits.scoreDocs[0].doc; Document storedDoc = searcher.doc(docID); assertEquals("cool cat", storedDoc.get("contents")); searcher.close(); }
From source file:aos.lucene.analysis.i18n.ChineseTest.java
License:Apache License
public void testChinese() throws Exception { Directory dir = TestUtil.getBookIndexDirectory(); IndexSearcher searcher = new IndexSearcher(dir); Query query = new TermQuery(new Term("contents", "?")); assertEquals("tao", 1, TestUtil.hitCount(searcher, query)); }
From source file:aos.lucene.analysis.keyword.KeywordAnalyzerTest.java
License:Apache License
public void setUp() throws Exception { Directory directory = new RAMDirectory(); IndexWriter writer = new IndexWriter(directory, new SimpleAnalyzer(), IndexWriter.MaxFieldLength.UNLIMITED); Document doc = new Document(); doc.add(new Field("partnum", "Q36", Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS)); //A doc.add(new Field("description", "Illidium Space Modulator", Field.Store.YES, Field.Index.ANALYZED)); writer.addDocument(doc);// www .ja v a 2 s .c o m writer.close(); searcher = new IndexSearcher(directory); }
From source file:aos.lucene.analysis.synonym.WordNetSynonymEngine.java
License:Apache License
public WordNetSynonymEngine(File index) throws IOException { fsDir = FSDirectory.open(index); searcher = new IndexSearcher(fsDir); }
From source file:aos.lucene.remote.SearchClient.java
License:Apache License
private static void search(String name, String word) throws Exception { TermQuery query = new TermQuery(new Term("word", word)); IndexSearcher searcher = (IndexSearcher) searcherCache.get(name); if (searcher == null) { searcher = new IndexSearcher(new IndexSearcher[] { lookupRemote(name) }); searcherCache.put(name, searcher); }/*from w ww . j a v a2s. com*/ long begin = new Date().getTime(); TopDocs hits = searcher.search(query, 10); long end = new Date().getTime(); System.out.print("Searched " + name + " for '" + word + "' (" + (end - begin) + " ms): "); if (hits.scoreDocs.length == 0) { System.out.print("<NONE FOUND>"); } for (ScoreDoc sd : hits.scoreDocs) { Document doc = searcher.doc(sd.doc); String[] values = doc.getValues("syn"); for (String syn : values) { System.out.print(syn + " "); } } LOGGER.info(); LOGGER.info(); }
From source file:aos.lucene.remote.SearchServer.java
License:Apache License
public static void main(String[] args) throws Exception { if (args.length != 1) { System.err.println("Usage: SearchServer <basedir>"); System.exit(-1);//from w w w.ja v a 2s . co m } String basedir = args[0]; Directory[] dirs = new Directory[ALPHABET.length()]; IndexSearcher[] searchables = new IndexSearcher[ALPHABET.length()]; for (int i = 0; i < ALPHABET.length(); i++) { dirs[i] = FSDirectory.open(new File(basedir, "" + ALPHABET.charAt(i))); searchables[i] = new IndexSearcher(dirs[i]); } LocateRegistry.createRegistry(1099); SimpleSearcher multiSearcher = new IndexSearcher(searchables); RemoteIndexSearcher multiImpl = new RemoteIndexSearcher(multiSearcher); Naming.rebind("//localhost/LIA_Multi", multiImpl); SimpleSearcher parallelSearcher = new ParallelIndexSearcher(searchables); RemoteIndexSearcher parallelImpl = new RemoteIndexSearcher(parallelSearcher); Naming.rebind("//localhost/LIA_Parallel", parallelImpl); LOGGER.info("Server started"); for (int i = 0; i < ALPHABET.length(); i++) { dirs[i].close(); } }
From source file:aos.lucene.search.advanced.BooksLikeThis.java
License:Apache License
public BooksLikeThis(IndexReader reader) { this.reader = reader; searcher = new IndexSearcher(reader); }