Example usage for org.apache.lucene.index RandomIndexWriter RandomIndexWriter

List of usage examples for org.apache.lucene.index RandomIndexWriter RandomIndexWriter

Introduction

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

Prototype

public RandomIndexWriter(Random r, Directory dir) throws IOException 

Source Link

Document

create a RandomIndexWriter with a random config: Uses MockAnalyzer

Usage

From source file:brightsolid.solr.plugins.TestTargetPositionQueryFuzzy.java

License:Apache License

@Override
public void setUp() throws Exception {
    super.setUp();
    directory = newDirectory();//from w  ww .ja  v  a 2  s . c o  m
    RandomIndexWriter iw = new RandomIndexWriter(random(), directory);
    Document doc = new Document();
    FieldType newType = new FieldType(org.apache.lucene.document.TextField.TYPE_STORED);
    newType.setOmitNorms(true);
    Field field = newField("field", "", newType);
    field.fieldType().setOmitNorms(true);

    doc.add(field);

    field.setStringValue("one two threx");
    iw.addDocument(doc);
    field.setStringValue("two threx one");
    iw.addDocument(doc);
    field.setStringValue("threx one twp");
    iw.addDocument(doc);

    reader = iw.getReader();
    iw.close();
    searcher = newSearcher(reader);
}

From source file:brightsolid.solr.plugins.TestTargetPositionQuerySimple.java

License:Apache License

@Override
public void setUp() throws Exception {
    super.setUp();
    directory = newDirectory();/*from  www .  ja  va 2s . c  o m*/
    RandomIndexWriter iw = new RandomIndexWriter(random(), directory);

    Document doc = new Document();
    FieldType newType = new FieldType(org.apache.lucene.document.TextField.TYPE_STORED);
    newType.setOmitNorms(true);
    Field field = newField("field", "", newType);
    field.fieldType().setOmitNorms(true);

    doc.add(field);

    field.setStringValue("two");
    iw.addDocument(doc);
    field.setStringValue("one");
    iw.addDocument(doc);
    field.setStringValue("one two");
    iw.addDocument(doc);
    field.setStringValue("two one");
    iw.addDocument(doc);
    field.setStringValue("one two three");
    iw.addDocument(doc);
    field.setStringValue("three two one");
    iw.addDocument(doc);
    field.setStringValue("one one two");
    iw.addDocument(doc);

    reader = iw.getReader();
    iw.close();
    searcher = newSearcher(reader);
}

From source file:com.github.tteofili.btl.nlp.classification.ClassificationTestBase.java

License:Apache License

@Override
@Before//  www  .j  a  v a2 s .  com
public void setUp() throws Exception {
    super.setUp();
    dir = newDirectory();
    indexWriter = new RandomIndexWriter(random(), dir);
    textFieldName = "text";
    categoryFieldName = "author";
    ft = new FieldType(TextField.TYPE_STORED);
    ft.setStoreTermVectors(true);
    ft.setStoreTermVectorOffsets(true);
    ft.setStoreTermVectorPositions(true);
}

From source file:com.meizu.nlp.classification.ClassificationTestBase.java

License:Apache License

@Override
@Before/*  ww w.  j  a  va  2s.  co m*/
public void setUp() throws Exception {
    super.setUp();
    dir = newDirectory();
    indexWriter = new RandomIndexWriter(random(), dir);
    textFieldName = "text";
    categoryFieldName = "cat";
    booleanFieldName = "bool";
    ft = new FieldType(TextField.TYPE_STORED);
    ft.setStoreTermVectors(true);
    ft.setStoreTermVectorOffsets(true);
    ft.setStoreTermVectorPositions(true);
}

From source file:com.meizu.nlp.classification.utils.DataSplitterTest.java

License:Apache License

@Override
@Before/*from  ww  w.j av a2s.c  om*/
public void setUp() throws Exception {
    super.setUp();
    dir = newDirectory();
    indexWriter = new RandomIndexWriter(random(), dir);

    FieldType ft = new FieldType(TextField.TYPE_STORED);
    ft.setStoreTermVectors(true);
    ft.setStoreTermVectorOffsets(true);
    ft.setStoreTermVectorPositions(true);

    Document doc;
    Random rnd = random();
    for (int i = 0; i < 100; i++) {
        doc = new Document();
        doc.add(new Field(idFieldName, Integer.toString(i), ft));
        doc.add(new Field(textFieldName, TestUtil.randomUnicodeString(rnd, 1024), ft));
        doc.add(new Field(classFieldName, TestUtil.randomUnicodeString(rnd, 10), ft));
        indexWriter.addDocument(doc);
    }

    indexWriter.commit();

    originalIndex = SlowCompositeReaderWrapper.wrap(indexWriter.getReader());

}

From source file:com.meizu.nlp.classification.utils.DocToDoubleVectorUtilsTest.java

License:Apache License

@Override
@Before//from  w ww .java2s  .c  o m
public void setUp() throws Exception {
    super.setUp();
    dir = newDirectory();
    RandomIndexWriter indexWriter = new RandomIndexWriter(random(), dir);

    FieldType ft = new FieldType(TextField.TYPE_STORED);
    ft.setStoreTermVectors(true);
    ft.setStoreTermVectorOffsets(true);
    ft.setStoreTermVectorPositions(true);

    Document doc;
    for (int i = 0; i < 10; i++) {
        doc = new Document();
        doc.add(new Field("id", Integer.toString(i), ft));
        doc.add(new Field("text",
                random().nextInt(10) + " " + random().nextInt(10) + " " + random().nextInt(10), ft));
        indexWriter.addDocument(doc);
    }

    indexWriter.commit();

    index = indexWriter.getReader();

    indexWriter.close();
}

From source file:lia.searching.ConstantScoreQuery.java

License:Apache License

public void testWrapped2Times() throws Exception {
    Directory directory = null;/*from   ww w.j  ava  2 s.  co  m*/
    IndexReader reader = null;
    IndexSearcher searcher = null;
    try {
        directory = newDirectory();
        RandomIndexWriter writer = new RandomIndexWriter(random(), directory);

        Document doc = new Document();
        doc.add(newStringField("field", "term", Field.Store.NO));
        writer.addDocument(doc);

        reader = writer.getReader();
        writer.close();
        searcher = newSearcher(reader);

        // set a similarity that does not normalize our boost away
        searcher.setSimilarity(new DefaultSimilarity() {
            @Override
            public float queryNorm(float sumOfSquaredWeights) {
                return 1.0f;
            }
        });

        final Query csq1 = new ConstantScoreQuery(new TermQuery(new Term("field", "term")));
        csq1.setBoost(2.0f);
        final Query csq2 = new ConstantScoreQuery(csq1);
        csq2.setBoost(5.0f);

        final BooleanQuery bq = new BooleanQuery();
        bq.add(csq1, BooleanClause.Occur.SHOULD);
        bq.add(csq2, BooleanClause.Occur.SHOULD);

        final Query csqbq = new ConstantScoreQuery(bq);
        csqbq.setBoost(17.0f);

        checkHits(searcher, csq1, csq1.getBoost(), ConstantScoreQuery.ConstantScorer.class.getName(), null);
        checkHits(searcher, csq2, csq2.getBoost(), ConstantScoreQuery.ConstantScorer.class.getName(),
                ConstantScoreQuery.ConstantScorer.class.getName());

        // for the combined BQ, the scorer should always be BooleanScorer's BucketScorer, because our scorer supports out-of order collection!
        final String bucketScorerClass = BooleanScorer.class.getName() + "$BucketScorer";
        checkHits(searcher, bq, csq1.getBoost() + csq2.getBoost(), bucketScorerClass, null);
        checkHits(searcher, csqbq, csqbq.getBoost(), ConstantScoreQuery.ConstantScorer.class.getName(),
                bucketScorerClass);
    } finally {
        if (reader != null)
            reader.close();
        if (directory != null)
            directory.close();
    }
}

From source file:lia.searching.ConstantScoreQuery.java

License:Apache License

public void testConstantScoreQueryAndFilter() throws Exception {
    Directory d = newDirectory();/*www  .  j  av a 2s .com*/
    RandomIndexWriter w = new RandomIndexWriter(random(), d);
    Document doc = new Document();
    doc.add(newStringField("field", "a", Field.Store.NO));
    w.addDocument(doc);
    doc = new Document();
    doc.add(newStringField("field", "b", Field.Store.NO));
    w.addDocument(doc);
    IndexReader r = w.getReader();
    w.close();

    Filter filterB = new CachingWrapperFilter(new QueryWrapperFilter(new TermQuery(new Term("field", "b"))));
    Query query = new ConstantScoreQuery(filterB);

    IndexSearcher s = newSearcher(r);
    assertEquals(1, s.search(query, filterB, 1).totalHits); // Query for field:b, Filter field:b

    Filter filterA = new CachingWrapperFilter(new QueryWrapperFilter(new TermQuery(new Term("field", "a"))));
    query = new ConstantScoreQuery(filterA);

    assertEquals(0, s.search(query, filterB, 1).totalHits); // Query field:b, Filter field:a

    r.close();
    d.close();
}

From source file:lia.searching.ConstantScoreQuery.java

License:Apache License

public void testQueryWrapperFilter() throws IOException {
    Directory d = newDirectory();/*from   www  .  j  a va 2  s  . c  o m*/
    RandomIndexWriter w = new RandomIndexWriter(random(), d);
    Document doc = new Document();
    doc.add(newStringField("field", "a", Field.Store.NO));
    w.addDocument(doc);
    IndexReader r = w.getReader();
    w.close();

    Filter filter = new QueryWrapperFilter(
            AssertingQuery.wrap(random(), new TermQuery(new Term("field", "a"))));
    IndexSearcher s = newSearcher(r);
    assert s instanceof AssertingIndexSearcher;
    // this used to fail
    s.search(new ConstantScoreQuery(filter), new TotalHitCountCollector());

    // check the rewrite
    Query rewritten = new ConstantScoreQuery(filter).rewrite(r);
    assertTrue(rewritten instanceof ConstantScoreQuery);
    assertTrue(((ConstantScoreQuery) rewritten).getQuery() instanceof AssertingQuery);

    r.close();
    d.close();
}

From source file:org.apache.solr.index.TestSlowCompositeReaderWrapper.java

License:Apache License

public void testCoreListenerOnSlowCompositeReaderWrapper() throws IOException {
    RandomIndexWriter w = new RandomIndexWriter(random(), newDirectory());
    final int numDocs = TestUtil.nextInt(random(), 1, 5);
    for (int i = 0; i < numDocs; ++i) {
        w.addDocument(new Document());
        if (random().nextBoolean()) {
            w.commit();// w  w w.  j  av  a  2s.  com
        }
    }
    w.commit();
    w.close();

    final IndexReader reader = DirectoryReader.open(w.w.getDirectory());
    final LeafReader leafReader = SlowCompositeReaderWrapper.wrap(reader);

    final int numListeners = TestUtil.nextInt(random(), 1, 10);
    final List<LeafReader.CoreClosedListener> listeners = new ArrayList<>();
    AtomicInteger counter = new AtomicInteger(numListeners);

    for (int i = 0; i < numListeners; ++i) {
        CountCoreListener listener = new CountCoreListener(counter, leafReader.getCoreCacheKey());
        listeners.add(listener);
        leafReader.addCoreClosedListener(listener);
    }
    for (int i = 0; i < 100; ++i) {
        leafReader.addCoreClosedListener(listeners.get(random().nextInt(listeners.size())));
    }
    final int removed = random().nextInt(numListeners);
    Collections.shuffle(listeners, random());
    for (int i = 0; i < removed; ++i) {
        leafReader.removeCoreClosedListener(listeners.get(i));
    }
    assertEquals(numListeners, counter.get());
    // make sure listeners are registered on the wrapped reader and that closing any of them has the same effect
    if (random().nextBoolean()) {
        reader.close();
    } else {
        leafReader.close();
    }
    assertEquals(removed, counter.get());
    w.w.getDirectory().close();
}