List of usage examples for org.apache.lucene.index RandomIndexWriter RandomIndexWriter
public RandomIndexWriter(Random r, Directory dir) throws IOException
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(); }