List of usage examples for org.apache.lucene.index IndexWriter addDocument
public long addDocument(Iterable<? extends IndexableField> doc) throws IOException
From source file:aos.lucene.analysis.UsingAnalyzersExample.java
License:Apache License
/** * This method doesn't do anything, except compile correctly. This is used * to show snippets of how Analyzers are used. *//* www . ja v a 2s . co m*/ public void someMethod() throws IOException, ParseException { RAMDirectory directory = new RAMDirectory(); Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_46); IndexWriter writer = new IndexWriter(directory, analyzer, IndexWriter.MaxFieldLength.UNLIMITED); Document doc = new Document(); doc.add(new Field("title", "This is the title", Field.Store.YES, Field.Index.ANALYZED)); doc.add(new Field("contents", "...document contents...", Field.Store.NO, Field.Index.ANALYZED)); writer.addDocument(doc); writer.addDocument(doc, analyzer); String expression = "some query"; Query query = new QueryParser(Version.LUCENE_46, "contents", analyzer).parse(expression); QueryParser parser = new QueryParser(Version.LUCENE_46, "contents", analyzer); query = parser.parse(expression); }
From source file:aos.lucene.search.advanced.MultiPhraseQueryTest.java
License:Apache License
protected void setUp() throws Exception { Directory directory = new RAMDirectory(); IndexWriter writer = new IndexWriter(directory, new WhitespaceAnalyzer(Version.LUCENE_46), IndexWriter.MaxFieldLength.UNLIMITED); Document doc1 = new Document(); doc1.add(new Field("field", "the quick brown fox jumped over the lazy dog", Field.Store.YES, Field.Index.ANALYZED)); writer.addDocument(doc1); Document doc2 = new Document(); doc2.add(new Field("field", "the fast fox hopped over the hound", Field.Store.YES, Field.Index.ANALYZED)); writer.addDocument(doc2);//from w ww . j a v a 2s.c o m writer.close(); searcher = new IndexSearcher(directory); }
From source file:aos.lucene.search.advanced.IndexSearcherTest.java
License:Apache License
public void setUp() throws Exception { String[] animals = { "aardvark", "beaver", "coati", "dog", "elephant", "frog", "gila monster", "horse", "iguana", "javelina", "kangaroo", "lemur", "moose", "nematode", "orca", "python", "quokka", "rat", "scorpion", "tarantula", "uromastyx", "vicuna", "walrus", "xiphias", "yak", "zebra" }; Analyzer analyzer = new WhitespaceAnalyzer(Version.LUCENE_46); Directory aTOmDirectory = new RAMDirectory(); // Directory nTOzDirectory = new RAMDirectory(); // IndexWriter aTOmWriter = new IndexWriter(aTOmDirectory, analyzer, IndexWriter.MaxFieldLength.UNLIMITED); IndexWriter nTOzWriter = new IndexWriter(nTOzDirectory, analyzer, IndexWriter.MaxFieldLength.UNLIMITED); for (int i = animals.length - 1; i >= 0; i--) { Document doc = new Document(); String animal = animals[i]; doc.add(new Field("animal", animal, Field.Store.YES, Field.Index.NOT_ANALYZED)); if (animal.charAt(0) < 'n') { aTOmWriter.addDocument(doc); // } else {/*from w w w .j ava2 s . co m*/ nTOzWriter.addDocument(doc); // } } aTOmWriter.close(); nTOzWriter.close(); searchers = new IndexSearcher[2]; searchers[0] = new IndexSearcher(aTOmDirectory); searchers[1] = new IndexSearcher(nTOzDirectory); }
From source file:aos.lucene.search.advanced.SecurityFilterTest.java
License:Apache License
protected void setUp() throws Exception { Directory directory = new RAMDirectory(); IndexWriter writer = new IndexWriter(directory, new WhitespaceAnalyzer(Version.LUCENE_46), IndexWriter.MaxFieldLength.UNLIMITED); Document document = new Document(); document.add(new Field("owner", "elwood", Field.Store.YES, Field.Index.NOT_ANALYZED)); document.add(new Field("keywords", "elwood's sensitive info", Field.Store.YES, Field.Index.ANALYZED)); writer.addDocument(document); document = new Document(); document.add(new Field("owner", "jake", Field.Store.YES, Field.Index.NOT_ANALYZED)); document.add(new Field("keywords", "jake's sensitive info", Field.Store.YES, Field.Index.ANALYZED)); writer.addDocument(document);//from w ww . jav a 2 s. c o m writer.close(); searcher = new IndexSearcher(directory); }
From source file:aos.lucene.search.advanced.SpanQueryTest.java
License:Apache License
protected void setUp() throws Exception { directory = new RAMDirectory(); analyzer = new WhitespaceAnalyzer(Version.LUCENE_46); IndexWriter writer = new IndexWriter(directory, analyzer, IndexWriter.MaxFieldLength.UNLIMITED); Document doc = new Document(); doc.add(new Field("f", "the quick brown fox jumps over the lazy dog", Field.Store.YES, Field.Index.ANALYZED)); writer.addDocument(doc); doc = new Document(); doc.add(new Field("f", "the quick red fox jumps over the sleepy cat", Field.Store.YES, Field.Index.ANALYZED)); writer.addDocument(doc);//from w w w . j a v a2 s . co m writer.close(); searcher = new IndexSearcher(directory); reader = searcher.getIndexReader(); quick = new SpanTermQuery(new Term("f", "quick")); brown = new SpanTermQuery(new Term("f", "brown")); red = new SpanTermQuery(new Term("f", "red")); fox = new SpanTermQuery(new Term("f", "fox")); lazy = new SpanTermQuery(new Term("f", "lazy")); sleepy = new SpanTermQuery(new Term("f", "sleepy")); dog = new SpanTermQuery(new Term("f", "dog")); cat = new SpanTermQuery(new Term("f", "cat")); }
From source file:aos.lucene.search.ext.sorting.DistanceSortingTest.java
License:Apache License
private void addPoint(IndexWriter writer, String name, String type, int x, int y) throws IOException { Document doc = new Document(); doc.add(new Field("name", name, Field.Store.YES, Field.Index.NOT_ANALYZED)); doc.add(new Field("type", type, Field.Store.YES, Field.Index.NOT_ANALYZED)); doc.add(new Field("x", Integer.toString(x), Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS)); doc.add(new Field("y", Integer.toString(y), Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS)); writer.addDocument(doc); }
From source file:aos.lucene.search.msc.NearRealTimeTest.java
License:Apache License
public void testNearRealTime() throws Exception { Directory dir = new RAMDirectory(); IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(Version.LUCENE_46), IndexWriter.MaxFieldLength.UNLIMITED); for (int i = 0; i < 10; i++) { Document doc = new Document(); doc.add(new Field("id", "" + i, Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS)); doc.add(new Field("text", "aaa", Field.Store.NO, Field.Index.ANALYZED)); writer.addDocument(doc); }/*from w w w . j a v a 2 s .c o m*/ IndexReader reader = writer.getReader(); IndexSearcher searcher = new IndexSearcher(reader); Query query = new TermQuery(new Term("text", "aaa")); TopDocs docs = searcher.search(query, 1); assertEquals(10, docs.totalHits); writer.deleteDocuments(new Term("id", "7")); Document doc = new Document(); doc.add(new Field("id", "11", Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS)); doc.add(new Field("text", "bbb", Field.Store.NO, Field.Index.ANALYZED)); writer.addDocument(doc); IndexReader newReader = reader.reopen(); assertFalse(reader == newReader); reader.close(); searcher = new IndexSearcher(newReader); TopDocs hits = searcher.search(query, 10); assertEquals(9, hits.totalHits); query = new TermQuery(new Term("text", "bbb")); hits = searcher.search(query, 1); assertEquals(1, hits.totalHits); newReader.close(); writer.close(); }
From source file:aos.lucene.search.msc.PhraseQueryTest.java
License:Apache License
protected void setUp() throws IOException { dir = new RAMDirectory(); IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(Version.LUCENE_46), IndexWriter.MaxFieldLength.UNLIMITED); Document doc = new Document(); doc.add(new Field("field", "the quick brown fox jumped over the lazy dog", Field.Store.YES, Field.Index.ANALYZED)); writer.addDocument(doc); writer.close();//from w w w.j a va 2 s. c om searcher = new IndexSearcher(dir); }
From source file:aos.lucene.search.msc.ScoreTest.java
License:Apache License
private void indexSingleFieldDocs(Field[] fields) throws Exception { IndexWriter writer = new IndexWriter(directory, new WhitespaceAnalyzer(Version.LUCENE_46), IndexWriter.MaxFieldLength.UNLIMITED); for (Field f : fields) { Document doc = new Document(); doc.add(f);//from ww w .ja v a 2s .co m writer.addDocument(doc); } writer.merge(writer.getNextMerge()); writer.close(); }
From source file:aos.lucene.tools.BerkeleyDbIndexer.java
License:Apache License
public static void main(String[] args) throws IOException, DatabaseException { if (args.length != 1) { System.err.println("Usage: BerkeleyDbIndexer <index dir>"); System.exit(-1);/*w w w . j a v a 2 s . c om*/ } File indexFile = new File(args[0]); if (indexFile.exists()) { File[] files = indexFile.listFiles(); for (int i = 0; i < files.length; i++) if (files[i].getName().startsWith("__")) files[i].delete(); indexFile.delete(); } indexFile.mkdir(); EnvironmentConfig envConfig = new EnvironmentConfig(); DatabaseConfig dbConfig = new DatabaseConfig(); envConfig.setTransactional(true); envConfig.setInitializeCache(true); envConfig.setInitializeLocking(true); envConfig.setInitializeLogging(true); envConfig.setAllowCreate(true); envConfig.setThreaded(true); dbConfig.setAllowCreate(true); dbConfig.setType(DatabaseType.BTREE); Environment env = new Environment(indexFile, envConfig); Transaction txn = env.beginTransaction(null, null); Database index = env.openDatabase(txn, "__index__", null, dbConfig); Database blocks = env.openDatabase(txn, "__blocks__", null, dbConfig); txn.commit(); txn = env.beginTransaction(null, null); DbDirectory directory = new DbDirectory(txn, index, blocks); IndexWriter writer = new IndexWriter(directory, new StandardAnalyzer(Version.LUCENE_46), true, IndexWriter.MaxFieldLength.UNLIMITED); Document doc = new Document(); doc.add(new Field("contents", "The quick brown fox...", Field.Store.YES, Field.Index.ANALYZED)); writer.addDocument(doc); writer.merge(writer.getNextMerge()); writer.close(); directory.close(); txn.commit(); index.close(); blocks.close(); env.close(); LOGGER.info("Indexing Complete"); }