• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java UpdateRequestHandler类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.solr.handler.UpdateRequestHandler的典型用法代码示例。如果您正苦于以下问题:Java UpdateRequestHandler类的具体用法?Java UpdateRequestHandler怎么用?Java UpdateRequestHandler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



UpdateRequestHandler类属于org.apache.solr.handler包,在下文中一共展示了UpdateRequestHandler类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: TestHarness

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
/**
 * @param coreName to initialize
 * @param dataDir path for index data, will not be cleaned up
 * @param solrConfig solrconfig resource name
 * @param indexSchema schema resource name
 */
public TestHarness(String coreName, String dataDir, String solrConfig, String indexSchema) {
  try {
    if (coreName == null)
      coreName = ConfigSolrXmlOld.DEFAULT_DEFAULT_CORE_NAME;
    this.coreName = coreName;

    SolrResourceLoader loader = new SolrResourceLoader(SolrResourceLoader.locateSolrHome());
    ConfigSolr config = getTestHarnessConfig(loader, coreName, dataDir, solrConfig, indexSchema);
    container = new CoreContainer(loader, config);
    container.load();

    updater = new UpdateRequestHandler();
    updater.init( null );
  } catch (Exception e) {
    throw new RuntimeException(e);
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:24,代码来源:TestHarness.java


示例2: addDoc

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
static void addDoc(String doc, String chain) throws Exception {
  Map<String, String[]> params = new HashMap<>();
  MultiMapSolrParams mmparams = new MultiMapSolrParams(params);
  params.put(UpdateParams.UPDATE_CHAIN, new String[] { chain });
  SolrQueryRequestBase req = new SolrQueryRequestBase(h.getCore(),
      (SolrParams) mmparams) {
  };

  UpdateRequestHandler handler = new UpdateRequestHandler();
  handler.init(null);
  ArrayList<ContentStream> streams = new ArrayList<>(2);
  streams.add(new ContentStreamBase.StringStream(doc));
  req.setContentStreams(streams);
  handler.handleRequestBody(req, new SolrQueryResponse());
  req.close();
}
 
开发者ID:europeana,项目名称:search,代码行数:17,代码来源:SignatureUpdateProcessorFactoryTest.java


示例3: addDoc

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
private void addDoc(String doc) throws Exception {
  Map<String, String[]> params = new HashMap<>();
  MultiMapSolrParams mmparams = new MultiMapSolrParams(params);
  params.put(UpdateParams.UPDATE_CHAIN, new String[] { "uniq-fields" });
  SolrQueryRequestBase req = new SolrQueryRequestBase(h.getCore(),
      (SolrParams) mmparams) {
  };

  UpdateRequestHandler handler = new UpdateRequestHandler();
  handler.init(null);
  ArrayList<ContentStream> streams = new ArrayList<>(2);
  streams.add(new ContentStreamBase.StringStream(doc));
  req.setContentStreams(streams);
  handler.handleRequestBody(req, new SolrQueryResponse());
  req.close();
}
 
开发者ID:europeana,项目名称:search,代码行数:17,代码来源:UniqFieldsUpdateProcessorFactoryTest.java


示例4: addDoc

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
static void addDoc(String doc, String chain) throws Exception {
  Map<String, String[]> params = new HashMap<String, String[]>();
  MultiMapSolrParams mmparams = new MultiMapSolrParams(params);
  params.put(UpdateParams.UPDATE_CHAIN, new String[] { chain });
  SolrQueryRequestBase req = new SolrQueryRequestBase(h.getCore(),
      (SolrParams) mmparams) {
  };

  UpdateRequestHandler handler = new UpdateRequestHandler();
  handler.init(null);
  ArrayList<ContentStream> streams = new ArrayList<ContentStream>(2);
  streams.add(new ContentStreamBase.StringStream(doc));
  req.setContentStreams(streams);
  handler.handleRequestBody(req, new SolrQueryResponse());
  req.close();
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:17,代码来源:SignatureUpdateProcessorFactoryTest.java


示例5: addDoc

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
private void addDoc(String doc) throws Exception {
  Map<String, String[]> params = new HashMap<String, String[]>();
  MultiMapSolrParams mmparams = new MultiMapSolrParams(params);
  params.put(UpdateParams.UPDATE_CHAIN, new String[] { "uniq-fields" });
  SolrQueryRequestBase req = new SolrQueryRequestBase(h.getCore(),
      (SolrParams) mmparams) {
  };

  UpdateRequestHandler handler = new UpdateRequestHandler();
  handler.init(null);
  ArrayList<ContentStream> streams = new ArrayList<ContentStream>(2);
  streams.add(new ContentStreamBase.StringStream(doc));
  req.setContentStreams(streams);
  handler.handleRequestBody(req, new SolrQueryResponse());
  req.close();
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:17,代码来源:UniqFieldsUpdateProcessorFactoryTest.java


示例6: addDoc

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
private void addDoc(String chain, String doc) throws Exception {
  Map<String, String[]> params = new HashMap<>();
  params.put(UpdateParams.UPDATE_CHAIN, new String[] { chain });
  MultiMapSolrParams mmparams = new MultiMapSolrParams(params);
  SolrQueryRequestBase req = new SolrQueryRequestBase(h.getCore(), (SolrParams) mmparams) {
  };

  UpdateRequestHandler handler = new UpdateRequestHandler();
  handler.init(null);
  ArrayList<ContentStream> streams = new ArrayList<>(2);
  streams.add(new ContentStreamBase.StringStream(doc));
  req.setContentStreams(streams);
  handler.handleRequestBody(req, new SolrQueryResponse());
}
 
开发者ID:europeana,项目名称:search,代码行数:15,代码来源:UIMAUpdateRequestProcessorTest.java


示例7: TestHarness

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
public TestHarness(String coreName, CoreContainer.Initializer init) {
  try {

    container = init.initialize();
    if (coreName == null)
      coreName = CoreContainer.DEFAULT_DEFAULT_CORE_NAME;

    this.coreName = coreName;

    updater = new UpdateRequestHandler();
    updater.init( null );
  } catch (Exception e) {
    throw new RuntimeException(e);
  }
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:16,代码来源:TestHarness.java


示例8: addDoc

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
private void addDoc(String chain, String doc) throws Exception {
  Map<String, String[]> params = new HashMap<String, String[]>();
  params.put(UpdateParams.UPDATE_CHAIN, new String[] { chain });
  MultiMapSolrParams mmparams = new MultiMapSolrParams(params);
  SolrQueryRequestBase req = new SolrQueryRequestBase(h.getCore(), (SolrParams) mmparams) {
  };

  UpdateRequestHandler handler = new UpdateRequestHandler();
  handler.init(null);
  ArrayList<ContentStream> streams = new ArrayList<ContentStream>(2);
  streams.add(new ContentStreamBase.StringStream(doc));
  req.setContentStreams(streams);
  handler.handleRequestBody(req, new SolrQueryResponse());
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:15,代码来源:UIMAUpdateRequestProcessorTest.java


示例9: addDoc

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
static void addDoc(String doc, String chain) throws Exception {
	Map<String, String[]> params = new HashMap<>();
	MultiMapSolrParams mmparams = new MultiMapSolrParams(params);
	params.put(UpdateParams.UPDATE_CHAIN, new String[] { chain });
	SolrQueryRequestBase req = new SolrQueryRequestBase(h.getCore(), mmparams) {
	};

	UpdateRequestHandler handler = new UpdateRequestHandler();
	handler.init(null);
	ArrayList<ContentStream> streams = new ArrayList<>(2);
	streams.add(new ContentStreamBase.StringStream(doc));
	req.setContentStreams(streams);
	handler.handleRequestBody(req, new SolrQueryResponse());
	req.close();
}
 
开发者ID:flaxsearch,项目名称:BioSolr,代码行数:16,代码来源:OntologyUpdateProcessorFactoryTest.java


示例10: parseAdd

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
AddUpdateCommand parseAdd() throws IOException
{
  AddUpdateCommand cmd = new AddUpdateCommand(req);
  cmd.commitWithin = commitWithin;
  cmd.overwrite = overwrite;
  
  float boost = 1.0f;
  
  while( true ) {
    int ev = parser.nextEvent();
    if( ev == JSONParser.STRING ) {
      if( parser.wasKey() ) {
        String key = parser.getString();
        if( "doc".equals( key ) ) {
          if( cmd.solrDoc != null ) {
            throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "multiple docs in same add command" );
          }
          ev = assertNextEvent( JSONParser.OBJECT_START );
          cmd.solrDoc = parseDoc( ev );
        }
        else if( UpdateRequestHandler.OVERWRITE.equals( key ) ) {
          cmd.overwrite = parser.getBoolean(); // reads next boolean
        }
        else if( UpdateRequestHandler.COMMIT_WITHIN.equals( key ) ) {
          cmd.commitWithin = (int)parser.getLong();
        }
        else if( "boost".equals( key ) ) {
          boost = Float.parseFloat( parser.getNumberChars().toString() );
        }
        else {
          throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Unknown key: "+key+" ["+parser.getPosition()+"]" );
        }
      }
      else {
        throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
            "Should be a key "
            +" at ["+parser.getPosition()+"]" );
      }
    }
    else if( ev == JSONParser.OBJECT_END ) {
      if( cmd.solrDoc == null ) {
        throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,"missing solr document. "+parser.getPosition() );
      }
      cmd.solrDoc.setDocumentBoost( boost ); 
      return cmd;
    }
    else {
      throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
          "Got: "+JSONParser.getEventString( ev  )
          +" at ["+parser.getPosition()+"]" );
    }
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:54,代码来源:JsonLoader.java


示例11: testCommitWithin

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
public void testCommitWithin() throws Exception {
  SolrCore core = h.getCore();
  
  NewSearcherListener trigger = new NewSearcherListener();    
  core.registerNewSearcherListener(trigger);
  DirectUpdateHandler2 updater = (DirectUpdateHandler2) core.getUpdateHandler();
  CommitTracker tracker = updater.commitTracker;
  tracker.setTimeUpperBound(0);
  tracker.setDocsUpperBound(-1);
  
  UpdateRequestHandler handler = new UpdateRequestHandler();
  handler.init( null );
  
  MapSolrParams params = new MapSolrParams( new HashMap<String, String>() );
  
  // Add a single document with commitWithin == 2 second
  SolrQueryResponse rsp = new SolrQueryResponse();
  SolrQueryRequestBase req = new SolrQueryRequestBase( core, params ) {};
  req.setContentStreams( AutoCommitTest.toContentStreams(
    adoc(2000, "id", "529", "field_t", "what's inside?", "subject", "info"), null ) );
  trigger.reset();
  handler.handleRequest( req, rsp );

  // Check it isn't in the index
  assertQ("shouldn't find any", req("id:529") ,"//result[@numFound=0]" );
  
  // Wait longer than the commitWithin time
  assertTrue("commitWithin failed to commit", trigger.waitForNewSearcher(30000));

  // Add one document without commitWithin
  req.setContentStreams( AutoCommitTest.toContentStreams(
      adoc("id", "530", "field_t", "what's inside?", "subject", "info"), null ) );
    trigger.reset();
    handler.handleRequest( req, rsp );
    
  // Check it isn't in the index
  assertQ("shouldn't find any", req("id:530") ,"//result[@numFound=0]" );
  
  // Delete one document with commitWithin
  req.setContentStreams( AutoCommitTest.toContentStreams(
    delI("529", "commitWithin", "1000"), null ) );
  trigger.reset();
  handler.handleRequest( req, rsp );
    
  // Now make sure we can find it
  assertQ("should find one", req("id:529") ,"//result[@numFound=1]" );
  
  // Wait for the commit to happen
  assertTrue("commitWithin failed to commit", trigger.waitForNewSearcher(30000));
  
  // Now we shouldn't find it
  assertQ("should find none", req("id:529") ,"//result[@numFound=0]" );
  // ... but we should find the new one
  assertQ("should find one", req("id:530") ,"//result[@numFound=1]" );
  
  trigger.reset();
  
  // now make the call 10 times really fast and make sure it 
  // only commits once
  req.setContentStreams( AutoCommitTest.toContentStreams(
      adoc(2000, "id", "500" ), null ) );
  for( int i=0;i<10; i++ ) {
    handler.handleRequest( req, rsp );
  }
  assertQ("should not be there yet", req("id:500") ,"//result[@numFound=0]" );
  
  // the same for the delete
  req.setContentStreams( AutoCommitTest.toContentStreams(
      delI("530", "commitWithin", "1000"), null ) );
  for( int i=0;i<10; i++ ) {
    handler.handleRequest( req, rsp );
  }
  assertQ("should be there", req("id:530") ,"//result[@numFound=1]" );
  
  assertTrue("commitWithin failed to commit", trigger.waitForNewSearcher(30000));
  assertQ("should be there", req("id:500") ,"//result[@numFound=1]" );
  assertQ("should not be there", req("id:530") ,"//result[@numFound=0]" );
  
  assertEquals(3, tracker.getCommitCount());
}
 
开发者ID:europeana,项目名称:search,代码行数:81,代码来源:HardAutoCommitTest.java


示例12: testMaxDocs

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
public void testMaxDocs() throws Exception {
  SolrCore core = h.getCore();
  
  NewSearcherListener trigger = new NewSearcherListener();

  DirectUpdateHandler2 updateHandler = (DirectUpdateHandler2)core.getUpdateHandler();
  CommitTracker tracker = updateHandler.softCommitTracker;
  tracker.setTimeUpperBound(-1);
  tracker.setDocsUpperBound(14);
  core.registerNewSearcherListener(trigger);

  
  UpdateRequestHandler handler = new UpdateRequestHandler();
  handler.init( null );
  
  MapSolrParams params = new MapSolrParams( new HashMap<String, String>() );
  
  // Add documents
  SolrQueryResponse rsp = new SolrQueryResponse();
  SolrQueryRequestBase req = new SolrQueryRequestBase( core, params ) {};
  for( int i=0; i<14; i++ ) {
    req.setContentStreams( toContentStreams(
      adoc("id", Integer.toString(i), "subject", "info" ), null ) );
    handler.handleRequest( req, rsp );
  }
  // It should not be there right away
  assertQ("shouldn't find any", req("id:1") ,"//result[@numFound=0]" );
  assertEquals( 0, tracker.getCommitCount());

  req.setContentStreams( toContentStreams(
      adoc("id", "14", "subject", "info" ), null ) );
  handler.handleRequest( req, rsp );

  assertTrue(trigger.waitForNewSearcher(15000));

  req.setContentStreams( toContentStreams(
      adoc("id", "15", "subject", "info" ), null ) );
  handler.handleRequest( req, rsp );
    
  // Now make sure we can find it
  assertQ("should find one", req("id:14") ,"//result[@numFound=1]" );
  assertEquals( 1, tracker.getCommitCount());
  // But not the one added afterward
  assertQ("should not find one", req("id:15") ,"//result[@numFound=0]" );
  assertEquals( 1, tracker.getCommitCount());
  
}
 
开发者ID:europeana,项目名称:search,代码行数:48,代码来源:AutoCommitTest.java


示例13: testMaxTime

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
public void testMaxTime() throws Exception {
  SolrCore core = h.getCore();
  
  NewSearcherListener trigger = new NewSearcherListener();    
  core.registerNewSearcherListener(trigger);
  DirectUpdateHandler2 updater = (DirectUpdateHandler2) core.getUpdateHandler();
  CommitTracker tracker = updater.softCommitTracker;
  // too low of a number can cause a slow host to commit before the test code checks that it
  // isn't there... causing a failure at "shouldn't find any"
  tracker.setTimeUpperBound(1000);
  tracker.setDocsUpperBound(-1);
  // updater.commitCallbacks.add(trigger);
  
  UpdateRequestHandler handler = new UpdateRequestHandler();
  handler.init( null );
  
  MapSolrParams params = new MapSolrParams( new HashMap<String, String>() );
  
  // Add a single document
  SolrQueryResponse rsp = new SolrQueryResponse();
  SolrQueryRequestBase req = new SolrQueryRequestBase( core, params ) {};
  req.setContentStreams( toContentStreams(
    adoc("id", "529", "field_t", "what's inside?", "subject", "info"), null ) );
  trigger.reset();
  handler.handleRequest( req, rsp );

  // Check it it is in the index
  assertQ("shouldn't find any", req("id:529") ,"//result[@numFound=0]" );

  // Wait longer than the autocommit time
  assertTrue(trigger.waitForNewSearcher(45000));
  trigger.reset();
  req.setContentStreams( toContentStreams(
    adoc("id", "530", "field_t", "what's inside?", "subject", "info"), null ) );
  handler.handleRequest( req, rsp );
    
  // Now make sure we can find it
  assertQ("should find one", req("id:529") ,"//result[@numFound=1]" );
  // But not this one
  assertQ("should find none", req("id:530") ,"//result[@numFound=0]" );
  
  // Delete the document
  assertU( delI("529") );
  assertQ("deleted, but should still be there", req("id:529") ,"//result[@numFound=1]" );
  // Wait longer than the autocommit time
  assertTrue(trigger.waitForNewSearcher(30000));
  trigger.reset();
  req.setContentStreams( toContentStreams(
    adoc("id", "550", "field_t", "what's inside?", "subject", "info"), null ) );
  handler.handleRequest( req, rsp );
  assertEquals( 2, tracker.getCommitCount() );
  assertQ("deleted and time has passed", req("id:529") ,"//result[@numFound=0]" );
  
  // now make the call 10 times really fast and make sure it 
  // only commits once
  req.setContentStreams( toContentStreams(
      adoc("id", "500" ), null ) );
  for( int i=0;i<10; i++ ) {
    handler.handleRequest( req, rsp );
  }
  assertQ("should not be there yet", req("id:500") ,"//result[@numFound=0]" );
  
  // Wait longer than the autocommit time
  assertTrue(trigger.waitForNewSearcher(45000));
  trigger.reset();
  
  req.setContentStreams( toContentStreams(
    adoc("id", "531", "field_t", "what's inside?", "subject", "info"), null ) );
  handler.handleRequest( req, rsp );
  assertEquals( 3, tracker.getCommitCount() );

  assertQ("now it should", req("id:500") ,"//result[@numFound=1]" );
}
 
开发者ID:europeana,项目名称:search,代码行数:74,代码来源:AutoCommitTest.java


示例14: testCommitWithin

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
public void testCommitWithin() throws Exception {
  SolrCore core = h.getCore();
  
  NewSearcherListener trigger = new NewSearcherListener();    
  core.registerNewSearcherListener(trigger);
  DirectUpdateHandler2 updater = (DirectUpdateHandler2) core.getUpdateHandler();
  CommitTracker tracker = updater.softCommitTracker;
  tracker.setTimeUpperBound(0);
  tracker.setDocsUpperBound(-1);
  
  UpdateRequestHandler handler = new UpdateRequestHandler();
  handler.init( null );
  
  MapSolrParams params = new MapSolrParams( new HashMap<String, String>() );
  
  // Add a single document with commitWithin == 4 second
  SolrQueryResponse rsp = new SolrQueryResponse();
  SolrQueryRequestBase req = new SolrQueryRequestBase( core, params ) {};
  req.setContentStreams( toContentStreams(
    adoc(4000, "id", "529", "field_t", "what's inside?", "subject", "info"), null ) );
  trigger.reset();
  handler.handleRequest( req, rsp );

  // Check it isn't in the index
  assertQ("shouldn't find any", req("id:529") ,"//result[@numFound=0]" );
  
  // Wait longer than the commitWithin time
  assertTrue("commitWithin failed to commit", trigger.waitForNewSearcher(30000));

  // Add one document without commitWithin
  req.setContentStreams( toContentStreams(
      adoc("id", "530", "field_t", "what's inside?", "subject", "info"), null ) );
    trigger.reset();
    handler.handleRequest( req, rsp );
    
  // Check it isn't in the index
  assertQ("shouldn't find any", req("id:530") ,"//result[@numFound=0]" );
  
  // Delete one document with commitWithin
  req.setContentStreams( toContentStreams(
    delI("529", "commitWithin", "1000"), null ) );
  trigger.reset();
  handler.handleRequest( req, rsp );
    
  // Now make sure we can find it
  assertQ("should find one", req("id:529") ,"//result[@numFound=1]" );
  
  // Wait for the commit to happen
  assertTrue("commitWithin failed to commit", trigger.waitForNewSearcher(30000));
  
  // Now we shouldn't find it
  assertQ("should find none", req("id:529") ,"//result[@numFound=0]" );
  // ... but we should find the new one
  assertQ("should find one", req("id:530") ,"//result[@numFound=1]" );
  
  trigger.reset();
  
  // now make the call 10 times really fast and make sure it 
  // only commits once
  req.setContentStreams( toContentStreams(
      adoc(2000, "id", "500" ), null ) );
  for( int i=0;i<10; i++ ) {
    handler.handleRequest( req, rsp );
  }
  assertQ("should not be there yet", req("id:500") ,"//result[@numFound=0]" );
  
  // the same for the delete
  req.setContentStreams( toContentStreams(
      delI("530", "commitWithin", "1000"), null ) );
  for( int i=0;i<10; i++ ) {
    handler.handleRequest( req, rsp );
  }
  assertQ("should be there", req("id:530") ,"//result[@numFound=1]" );
  
  assertTrue("commitWithin failed to commit", trigger.waitForNewSearcher(30000));
  assertQ("should be there", req("id:500") ,"//result[@numFound=1]" );
  assertQ("should not be there", req("id:530") ,"//result[@numFound=0]" );
  
  assertEquals(3, tracker.getCommitCount());
}
 
开发者ID:europeana,项目名称:search,代码行数:81,代码来源:AutoCommitTest.java


示例15: testCommitWithin

import org.apache.solr.handler.UpdateRequestHandler; //导入依赖的package包/类
public void testCommitWithin() throws Exception {
  SolrCore core = h.getCore();
  
  NewSearcherListener trigger = new NewSearcherListener();    
  core.registerNewSearcherListener(trigger);
  DirectUpdateHandler2 updater = (DirectUpdateHandler2) core.getUpdateHandler();
  CommitTracker tracker = updater.softCommitTracker;
  tracker.setTimeUpperBound(0);
  tracker.setDocsUpperBound(-1);
  
  UpdateRequestHandler handler = new UpdateRequestHandler();
  handler.init( null );
  
  MapSolrParams params = new MapSolrParams( new HashMap<String, String>() );
  
  // Add a single document with commitWithin == 2 second
  SolrQueryResponse rsp = new SolrQueryResponse();
  SolrQueryRequestBase req = new SolrQueryRequestBase( core, params ) {};
  req.setContentStreams( toContentStreams(
    adoc(2000, "id", "529", "field_t", "what's inside?", "subject", "info"), null ) );
  trigger.reset();
  handler.handleRequest( req, rsp );

  // Check it isn't in the index
  assertQ("shouldn't find any", req("id:529") ,"//result[@numFound=0]" );
  
  // Wait longer than the commitWithin time
  assertTrue("commitWithin failed to commit", trigger.waitForNewSearcher(30000));

  // Add one document without commitWithin
  req.setContentStreams( toContentStreams(
      adoc("id", "530", "field_t", "what's inside?", "subject", "info"), null ) );
    trigger.reset();
    handler.handleRequest( req, rsp );
    
  // Check it isn't in the index
  assertQ("shouldn't find any", req("id:530") ,"//result[@numFound=0]" );
  
  // Delete one document with commitWithin
  req.setContentStreams( toContentStreams(
    delI("529", "commitWithin", "1000"), null ) );
  trigger.reset();
  handler.handleRequest( req, rsp );
    
  // Now make sure we can find it
  assertQ("should find one", req("id:529") ,"//result[@numFound=1]" );
  
  // Wait for the commit to happen
  assertTrue("commitWithin failed to commit", trigger.waitForNewSearcher(30000));
  
  // Now we shouldn't find it
  assertQ("should find none", req("id:529") ,"//result[@numFound=0]" );
  // ... but we should find the new one
  assertQ("should find one", req("id:530") ,"//result[@numFound=1]" );
  
  trigger.reset();
  
  // now make the call 10 times really fast and make sure it 
  // only commits once
  req.setContentStreams( toContentStreams(
      adoc(2000, "id", "500" ), null ) );
  for( int i=0;i<10; i++ ) {
    handler.handleRequest( req, rsp );
  }
  assertQ("should not be there yet", req("id:500") ,"//result[@numFound=0]" );
  
  // the same for the delete
  req.setContentStreams( toContentStreams(
      delI("530", "commitWithin", "1000"), null ) );
  for( int i=0;i<10; i++ ) {
    handler.handleRequest( req, rsp );
  }
  assertQ("should be there", req("id:530") ,"//result[@numFound=1]" );
  
  assertTrue("commitWithin failed to commit", trigger.waitForNewSearcher(30000));
  assertQ("should be there", req("id:500") ,"//result[@numFound=1]" );
  assertQ("should not be there", req("id:530") ,"//result[@numFound=0]" );
  
  assertEquals(3, tracker.getCommitCount());
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:81,代码来源:AutoCommitTest.java



注:本文中的org.apache.solr.handler.UpdateRequestHandler类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Exhibitors类代码示例发布时间:2022-05-23
下一篇:
Java MnistDataFetcher类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap