Package org.apache.blur.server

Examples of org.apache.blur.server.IndexSearcherClosable


  }

  @Test
  public void testBlurIndexWriter() throws IOException, InterruptedException, URISyntaxException {
    setupWriter(configuration, 1);
    IndexSearcherClosable indexReader1 = reader.getIndexReader();
    doWrite();
    assertEquals(0, indexReader1.getIndexReader().numDocs());
    indexReader1.close();
    reader.refresh();
    IndexSearcherClosable indexReader2 = reader.getIndexReader();
    assertEquals(1, indexReader2.getIndexReader().numDocs());
    indexReader2.close();
  }
View Full Code Here


    setupWriter(configuration, 5, false);
    long s = System.nanoTime();
    int total = 0;
    for (int i = 0; i < TEST_NUMBER_WAIT_VISIBLE; i++) {
      writer.replaceRow(true, true, genRow());
      IndexSearcherClosable searcher = writer.getIndexReader();
      IndexReader reader = searcher.getIndexReader();
      assertEquals(i + 1, reader.numDocs());
      searcher.close();
      total++;
    }
    long e = System.nanoTime();
    double seconds = (e - s) / 1000000000.0;
    double rate = total / seconds;
    System.out.println("Rate " + rate);
    IndexSearcherClosable searcher = writer.getIndexReader();
    IndexReader reader = searcher.getIndexReader();
    assertEquals(TEST_NUMBER_WAIT_VISIBLE, reader.numDocs());
    searcher.close();
  }
View Full Code Here

  }

  @Test
  public void testBlurIndexWriterFaster() throws IOException, InterruptedException {
    setupWriter(configuration, 100, false);
    IndexSearcherClosable searcher1 = writer.getIndexReader();
    IndexReader reader1 = searcher1.getIndexReader();
    assertEquals(0, reader1.numDocs());
    searcher1.close();
    long s = System.nanoTime();
    int total = 0;
    for (int i = 0; i < TEST_NUMBER; i++) {
      if (i == TEST_NUMBER - 1) {
        writer.replaceRow(true, true, genRow());
      } else {
        writer.replaceRow(false, true, genRow());
      }
      total++;
    }
    long e = System.nanoTime();
    double seconds = (e - s) / 1000000000.0;
    double rate = total / seconds;
    System.out.println("Rate " + rate);
    // //wait one second for the data to become visible the test is set to
    // refresh once every 25 ms
    // Thread.sleep(1000);
    writer.refresh();
    IndexSearcherClosable searcher2 = writer.getIndexReader();
    IndexReader reader2 = searcher2.getIndexReader();
    assertEquals(TEST_NUMBER, reader2.numDocs());
    searcher2.close();
  }
View Full Code Here

    @Override
    public BlurResultIterable call(Entry<String, BlurIndex> entry) throws Exception {
      String shard = entry.getKey();
      _status.attachThread(shard);
      BlurIndex index = entry.getValue();
      IndexSearcherClosable searcher = index.getIndexReader();
      try {
        IndexReader indexReader = searcher.getIndexReader();
        if (indexReader instanceof ExitableReader) {
          ExitableReader er = (ExitableReader) indexReader;
          er.setRunning(_running);
        } else {
          throw new IOException("IndexReader is not ExitableReader");
        }
        if (_shardServerContext != null) {
          _shardServerContext.setIndexSearcherClosable(_table, shard, searcher);
        }
        searcher.setSimilarity(_indexServer.getSimilarity(_table));
        Query rewrite;
        try {
          rewrite = searcher.rewrite((Query) _query.clone());
        } catch (ExitingReaderException e) {
          LOG.info("Query [{0}] has been cancelled during the rewrite phase.", _query);
          throw e;
        }
View Full Code Here

    @Override
    public BlurResultIterable call(Entry<String, BlurIndex> entry) throws Exception {
      String shard = entry.getKey();
      _status.attachThread(shard);
      BlurIndex index = entry.getValue();
      IndexSearcherClosable searcher = index.getIndexSearcher();
      Tracer trace2 = null;
      try {
        IndexReader indexReader = searcher.getIndexReader();
        if (indexReader instanceof ExitableReader) {
          ExitableReader er = (ExitableReader) indexReader;
          er.setRunning(_running);
        } else {
          throw new IOException("IndexReader is not ExitableReader");
        }
        if (_shardServerContext != null) {
          _shardServerContext.setIndexSearcherClosable(_table, shard, searcher);
        }
        searcher.setSimilarity(_similarity);
        Tracer trace1 = Trace.trace("query rewrite", Trace.param("table", _table));
        Query rewrite;
        try {
          rewrite = searcher.rewrite((Query) _query.clone());
        } catch (ExitingReaderException e) {
          LOG.info("Query [{0}] has been cancelled during the rewrite phase.", _query);
          throw e;
        } finally {
          trace1.done();
View Full Code Here

  @Test
  public void testRollbackAndReopen() throws IOException {
    setupWriter(_configuration);
    {
      IndexSearcherClosable searcher = _writer.getIndexSearcher();
      IndexReader reader = searcher.getIndexReader();
      assertEquals(0, reader.numDocs());
      searcher.close();
    }

    MutatableAction action = new MutatableAction(_writer.getShardContext());
    action.replaceRow(new Row());
    try {
      _writer.process(action);
      fail("should throw exception");
    } catch (IOException e) {
      // do nothing
    }
    {
      IndexSearcherClosable searcher = _writer.getIndexSearcher();
      IndexReader reader = searcher.getIndexReader();
      assertEquals(0, reader.numDocs());
      searcher.close();
    }

    action.replaceRow(genRow());
    _writer.process(action);

    {
      IndexSearcherClosable searcher = _writer.getIndexSearcher();
      IndexReader reader = searcher.getIndexReader();
      assertEquals(1, reader.numDocs());
      searcher.close();
    }
  }
View Full Code Here

    Trace.setupTrace("test");
    for (int i = 0; i < TEST_NUMBER_WAIT_VISIBLE; i++) {
      MutatableAction action = new MutatableAction(_writer.getShardContext());
      action.replaceRow(genRow());
      _writer.process(action);
      IndexSearcherClosable searcher = _writer.getIndexSearcher();
      IndexReader reader = searcher.getIndexReader();
      assertEquals(i + 1, reader.numDocs());
      searcher.close();
      total++;
    }
    Trace.tearDownTrace();
    long e = System.nanoTime();
    double seconds = (e - s) / 1000000000.0;
    double rate = total / seconds;
    System.out.println("Rate " + rate);
    IndexSearcherClosable searcher = _writer.getIndexSearcher();
    IndexReader reader = searcher.getIndexReader();
    assertEquals(TEST_NUMBER_WAIT_VISIBLE, reader.numDocs());
    searcher.close();
    Trace.setStorage(oldStorage);
  }
View Full Code Here

  }

  @Test
  public void testBlurIndexWriterFaster() throws IOException, InterruptedException {
    setupWriter(_configuration);
    IndexSearcherClosable searcher1 = _writer.getIndexSearcher();
    IndexReader reader1 = searcher1.getIndexReader();
    assertEquals(0, reader1.numDocs());
    searcher1.close();
    long s = System.nanoTime();
    int total = 0;
    MutatableAction action = new MutatableAction(_writer.getShardContext());
    for (int i = 0; i < TEST_NUMBER; i++) {
      action.replaceRow(genRow());
      total++;
    }
    _writer.process(action);
    long e = System.nanoTime();
    double seconds = (e - s) / 1000000000.0;
    double rate = total / seconds;
    System.out.println("Rate " + rate);
    // //wait one second for the data to become visible the test is set to
    // refresh once every 25 ms
    Thread.sleep(1000);// Hack for now
    _writer.refresh();
    IndexSearcherClosable searcher2 = _writer.getIndexSearcher();
    IndexReader reader2 = searcher2.getIndexReader();
    assertEquals(TEST_NUMBER, reader2.numDocs());
    searcher2.close();
  }
View Full Code Here

  public abstract void removeSnapshot(String name) throws IOException;

  public abstract List<String> getSnapshots() throws IOException;

  public long getRecordCount() throws IOException {
    IndexSearcherClosable searcher = getIndexSearcher();
    try {
      return searcher.getIndexReader().numDocs();
    } finally {
      if (searcher != null) {
        searcher.close();
      }
    }
  }
View Full Code Here

      }
    }
  }

  public long getRowCount() throws IOException {
    IndexSearcherClosable searcher = getIndexSearcher();
    try {
      return getRowCount(searcher);
    } finally {
      if (searcher != null) {
        searcher.close();
      }
    }
  }
View Full Code Here

TOP

Related Classes of org.apache.blur.server.IndexSearcherClosable

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.