List of usage examples for org.apache.lucene.index IndexOptions IndexOptions
IndexOptions
From source file:edu.stanford.muse.index.Indexer.java
License:Apache License
private static void testQueries() throws IOException, ParseException, GeneralSecurityException, ClassNotFoundException { Indexer li = new Indexer("/tmp", new IndexOptions()); // public EmailDocument(String id, String folderName, Address[] to, Address[] cc, Address[] bcc, Address[] from, String subject, String messageID, Date date) EmailDocument ed = new EmailDocument("1", "dummy", "dummy", new Address[0], new Address[0], new Address[0], new Address[0], "", "", new Date()); li.indexSubdoc(" ssn 123-45 6789 ", "name 1 is John Smith. credit card # 1234 5678 9012 3456 ", ed, null); ed = new EmailDocument("2", "dummy", "dummy", new Address[0], new Address[0], new Address[0], new Address[0], "", "", new Date()); li.indexSubdoc(" ssn 123 45 6789", "name 1 is John Smith. credit card not ending with a non-digit # 1234 5678 9012 345612 ", ed, null);//from w w w . j a va2 s .co m ed = new EmailDocument("3", "dummy", "dummy", new Address[0], new Address[0], new Address[0], new Address[0], "", "", new Date()); li.indexSubdoc(" ssn 123 45 6789", "name 1 is John Smith. credit card # 111234 5678 9012 3456 ", ed, null); ed = new EmailDocument("4", "dummy", "dummy", new Address[0], new Address[0], new Address[0], new Address[0], "", "", new Date()); li.indexSubdoc(" ssn 123 45 6789", "\nmy \nfirst \n book is \n something ", ed, null); ed = new EmailDocument("5", "dummy", "dummy", new Address[0], new Address[0], new Address[0], new Address[0], "", "", new Date()); li.indexSubdoc("passport number k4190893", "\nmy \nfirst \n book is \n something ", ed, null); li.close(); li.setupForRead(); String q = "john"; Collection<EmailDocument> docs = li.lookupDocs(q, QueryType.FULL); System.out.println("hits for: " + q + " = " + docs.size()); q = "/j..n/\\\\*"; docs = li.lookupDocs(q, QueryType.FULL); System.out.println("hits for: " + q + " = " + docs.size()); q = "\"john\""; docs = li.lookupDocs(q, QueryType.FULL); System.out.println("hits for: " + q + " = " + docs.size()); q = "\"john smith\""; docs = li.lookupDocs(q, QueryType.FULL); System.out.println("hits for: " + q + " = " + docs.size()); q = "john*smith"; docs = li.lookupDocs(q, QueryType.FULL); System.out.println("hits for: " + q + " = " + docs.size()); q = "title:john"; docs = li.lookupDocs(q, QueryType.FULL); System.out.println("hits for: " + q + " = " + docs.size()); q = "title:subject"; docs = li.lookupDocs(q, QueryType.FULL); System.out.println("hits for: " + q + " = " + docs.size()); q = "body:johns"; docs = li.lookupDocs(q, QueryType.FULL); System.out.println("hits for: " + q + " = " + docs.size()); q = "title:johns"; docs = li.lookupDocs(q, QueryType.FULL); System.out.println("hits for: " + q + " = " + docs.size()); q = "joh*"; docs = li.lookupDocs(q, QueryType.FULL); System.out.println("hits for: " + q + " = " + docs.size()); q = "/j..n/"; // q = "/\\b(\\d{9}|\\d{3}-\\d{2}-\\d{4})\\b/"; docs = li.lookupDocs(q, QueryType.FULL); System.out.println("hits for: " + q + " = " + docs.size()); // look for sequence of 4-4-4-4 . the .* at the beginning and end is needed. q = "[0-9]{3}[\\- ]*[0-9]{2}[ \\-]*[0-9]{4}"; docs = li.lookupDocs(q, QueryType.REGEX); System.out.println("hits for: " + q + " = " + docs.size()); // look for sequence of 3-2-4 //q = "[0-9]{3}[ \\-]*[0-9]{2}[ \\-]*[0-9]{4}"; q = "123-45[ \\-]*[0-9]{4}"; System.out.println("hits for: " + q + " = " + li.lookupDocs(q, QueryType.REGEX).size()); // look for sequence of 3-2-4 q = "first\\sbook"; docs = li.lookupDocs(q, QueryType.REGEX); System.out.println("hits for: " + q + " = " + docs.size()); q = "ssn"; int numHits = li.getNumHits(q, false, QueryType.FULL); System.err.println("Number of hits for: " + q + " is " + numHits); q = "[A-Za-z][0-9]{7}"; docs = li.lookupDocs(q, QueryType.REGEX); System.out.println("hits for: " + q + " = " + docs.size()); li.analyzer = null; li.isearcher = null; li.parser = null; li.parserOriginal = null; li.parserSubject = null; li.parserCorrespondents = null; Util.writeObjectToFile("/tmp/1", li); li = (Indexer) Util.readObjectFromFile("/tmp/1"); }