Example usage for org.apache.lucene.index IndexWriter addDocument

List of usage examples for org.apache.lucene.index IndexWriter addDocument

Introduction

In this page you can find the example usage for org.apache.lucene.index IndexWriter addDocument.

Prototype

public long addDocument(Iterable<? extends IndexableField> doc) throws IOException 

Source Link

Document

Adds a document to this index.

Usage

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");
}