当前位置: 首页>>代码示例>>Java>>正文


Java LocalSolrQueryRequest.close方法代码示例

本文整理汇总了Java中org.apache.solr.request.LocalSolrQueryRequest.close方法的典型用法代码示例。如果您正苦于以下问题:Java LocalSolrQueryRequest.close方法的具体用法?Java LocalSolrQueryRequest.close怎么用?Java LocalSolrQueryRequest.close使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.solr.request.LocalSolrQueryRequest的用法示例。


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

示例1: loadLocalFromHandler

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
SolrQueryResponse loadLocalFromHandler(String handler, String filename, 
                                       String... args) throws Exception {
                            
  LocalSolrQueryRequest req = (LocalSolrQueryRequest) req(args);
  try {
    // TODO: stop using locally defined streams once stream.file and
    // stream.body work everywhere
    List<ContentStream> cs = new ArrayList<>();
    cs.add(new ContentStreamBase.FileStream(getFile(filename)));
    req.setContentStreams(cs);
    return h.queryAndResponse(handler, req);
  } finally {
    req.close();
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:16,代码来源:ExtractingRequestHandlerTest.java

示例2: checkEngine

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
private List<NamedList<Object>> checkEngine(CarrotClusteringEngine engine, int expectedNumDocs,
                         int expectedNumClusters, Query query, SolrParams clusteringParams) throws IOException {
  // Get all documents to cluster
  RefCounted<SolrIndexSearcher> ref = h.getCore().getSearcher();

  DocList docList;
  try {
    SolrIndexSearcher searcher = ref.get();
    docList = searcher.getDocList(query, (Query) null, new Sort(), 0,
            numberOfDocs);
    assertEquals("docList size", expectedNumDocs, docList.matches());

    ModifiableSolrParams solrParams = new ModifiableSolrParams();
    solrParams.add(clusteringParams);

    // Perform clustering
    LocalSolrQueryRequest req = new LocalSolrQueryRequest(h.getCore(), solrParams);
    Map<SolrDocument,Integer> docIds = new HashMap<>(docList.size());
    SolrDocumentList solrDocList = SolrPluginUtils.docListToSolrDocumentList( docList, searcher, engine.getFieldsToLoad(req), docIds );

    @SuppressWarnings("unchecked")
    List<NamedList<Object>> results = (List<NamedList<Object>>) engine.cluster(query, solrDocList, docIds, req);
    req.close();
    assertEquals("number of clusters: " + results, expectedNumClusters, results.size());
    checkClusters(results, false);
    return results;
  } finally {
    ref.decref();
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:31,代码来源:CarrotClusteringEngineTest.java

示例3: testUpdate

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
@Test
public void testUpdate() throws Exception
{
  String xml = 
    "<random>" +
    " <document>" +
    "  <node name=\"id\" value=\"12345\"/>" +
    "  <node name=\"name\" value=\"kitten\"/>" +
    "  <node name=\"text\" enhance=\"3\" value=\"some other day\"/>" +
    "  <node name=\"title\" enhance=\"4\" value=\"A story\"/>" +
    "  <node name=\"timestamp\" enhance=\"5\" value=\"2011-07-01T10:31:57.140Z\"/>" +
    " </document>" +
    "</random>";

  Map<String,String> args = new HashMap<>();
  args.put(CommonParams.TR, "xsl-update-handler-test.xsl");
    
  SolrCore core = h.getCore();
  LocalSolrQueryRequest req = new LocalSolrQueryRequest( core, new MapSolrParams( args) );
  ArrayList<ContentStream> streams = new ArrayList<>();
  streams.add(new ContentStreamBase.StringStream(xml));
  req.setContentStreams(streams);
  SolrQueryResponse rsp = new SolrQueryResponse();
  UpdateRequestHandler handler = new UpdateRequestHandler();
  handler.init(new NamedList<String>());
  handler.handleRequestBody(req, rsp);
  StringWriter sw = new StringWriter(32000);
  QueryResponseWriter responseWriter = core.getQueryResponseWriter(req);
  responseWriter.write(sw,req,rsp);
  req.close();
  String response = sw.toString();
  assertU(response);
  assertU(commit());

  assertQ("test document was correctly committed", req("q","*:*")
          , "//result[@numFound='1']"
          , "//int[@name='id'][.='12345']"
      );
}
 
开发者ID:europeana,项目名称:search,代码行数:40,代码来源:XsltUpdateRequestHandlerTest.java

示例4: loadLocal

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
SolrQueryResponse loadLocal(String filename, String... args) throws Exception {
  LocalSolrQueryRequest req = (LocalSolrQueryRequest) req(args);
  try {
    // TODO: stop using locally defined streams once stream.file and
    // stream.body work everywhere
    List<ContentStream> cs = new ArrayList<ContentStream>();
    cs.add(new ContentStreamBase.FileStream(getFile(filename)));
    req.setContentStreams(cs);
    return h.queryAndResponse("/update/extract", req);
  } finally {
    req.close();
  }
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:14,代码来源:ExtractingRequestHandlerTest.java

示例5: checkEngine

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
private List<NamedList<Object>> checkEngine(CarrotClusteringEngine engine, int expectedNumDocs,
                         int expectedNumClusters, Query query, SolrParams clusteringParams) throws IOException {
  // Get all documents to cluster
  RefCounted<SolrIndexSearcher> ref = h.getCore().getSearcher();

  DocList docList;
  try {
    SolrIndexSearcher searcher = ref.get();
    docList = searcher.getDocList(query, (Query) null, new Sort(), 0,
            numberOfDocs);
    assertEquals("docList size", expectedNumDocs, docList.matches());

    ModifiableSolrParams solrParams = new ModifiableSolrParams();
    solrParams.add(clusteringParams);

    // Perform clustering
    LocalSolrQueryRequest req = new LocalSolrQueryRequest(h.getCore(), solrParams);
    Map<SolrDocument,Integer> docIds = new HashMap<SolrDocument, Integer>(docList.size());
    SolrDocumentList solrDocList = SolrPluginUtils.docListToSolrDocumentList( docList, searcher, engine.getFieldsToLoad(req), docIds );

    @SuppressWarnings("unchecked")
    List<NamedList<Object>> results = (List<NamedList<Object>>) engine.cluster(query, solrDocList, docIds, req);
    req.close();
    assertEquals("number of clusters: " + results, expectedNumClusters, results.size());
    checkClusters(results, false);
    return results;
  } finally {
    ref.decref();
  }
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:31,代码来源:CarrotClusteringEngineTest.java

示例6: testUpdate

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
@Test
public void testUpdate() throws Exception
{
  String xml = 
    "<random>" +
    " <document>" +
    "  <node name=\"id\" value=\"12345\"/>" +
    "  <node name=\"name\" value=\"kitten\"/>" +
    "  <node name=\"text\" enhance=\"3\" value=\"some other day\"/>" +
    "  <node name=\"title\" enhance=\"4\" value=\"A story\"/>" +
    "  <node name=\"timestamp\" enhance=\"5\" value=\"2011-07-01T10:31:57.140Z\"/>" +
    " </document>" +
    "</random>";

  Map<String,String> args = new HashMap<String, String>();
  args.put(CommonParams.TR, "xsl-update-handler-test.xsl");
    
  SolrCore core = h.getCore();
  LocalSolrQueryRequest req = new LocalSolrQueryRequest( core, new MapSolrParams( args) );
  ArrayList<ContentStream> streams = new ArrayList<ContentStream>();
  streams.add(new ContentStreamBase.StringStream(xml));
  req.setContentStreams(streams);
  SolrQueryResponse rsp = new SolrQueryResponse();
  UpdateRequestHandler handler = new UpdateRequestHandler();
  handler.init(new NamedList<String>());
  handler.handleRequestBody(req, rsp);
  StringWriter sw = new StringWriter(32000);
  QueryResponseWriter responseWriter = core.getQueryResponseWriter(req);
  responseWriter.write(sw,req,rsp);
  req.close();
  String response = sw.toString();
  assertU(response);
  assertU(commit());

  assertQ("test document was correctly committed", req("q","*:*")
          , "//result[@numFound='1']"
          , "//int[@name='id'][.='12345']"
      );
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:40,代码来源:XsltUpdateRequestHandlerTest.java

示例7: createParser

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
@Override
public QParser createParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req) {
  return new QParser(qstr, localParams, params, req) {
    @Override
    public Query parse() throws SyntaxError {
      String fromField = getParam("from");
      String fromIndex = getParam("fromIndex");
      String toField = getParam("to");
      String v = localParams.get("v");
      Query fromQuery;
      long fromCoreOpenTime = 0;

      if (fromIndex != null && !fromIndex.equals(req.getCore().getCoreDescriptor().getName()) ) {
        CoreContainer container = req.getCore().getCoreDescriptor().getCoreContainer();

        final SolrCore fromCore = container.getCore(fromIndex);
        RefCounted<SolrIndexSearcher> fromHolder = null;

        if (fromCore == null) {
          throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Cross-core join: no such core " + fromIndex);
        }

        LocalSolrQueryRequest otherReq = new LocalSolrQueryRequest(fromCore, params);
        try {
          QParser parser = QParser.getParser(v, "lucene", otherReq);
          fromQuery = parser.getQuery();
          fromHolder = fromCore.getRegisteredSearcher();
          if (fromHolder != null) fromCoreOpenTime = fromHolder.get().getOpenTime();
        } finally {
          otherReq.close();
          fromCore.close();
          if (fromHolder != null) fromHolder.decref();
        }
      } else {
        QParser fromQueryParser = subQuery(v, null);
        fromQuery = fromQueryParser.getQuery();
      }

      JoinQuery jq = new JoinQuery(fromField, toField, fromIndex, fromQuery);
      jq.fromCoreOpenTime = fromCoreOpenTime;
      return jq;
    }
  };
}
 
开发者ID:europeana,项目名称:search,代码行数:45,代码来源:JoinQParserPlugin.java

示例8: testSplitByPaths

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
@Test
public void testSplitByPaths() throws Exception {
  LocalSolrQueryRequest request = null;
  try {
    // add two docs
    String id1 = "dorothy";
    assertU(adoc("id", id1));
    String id2 = "kansas";
    assertU(adoc("id", id2));
    assertU(commit());
    assertJQ(req("q", "*:*"), "/response/numFound==2");

    // find minHash/maxHash hash ranges
    List<DocRouter.Range> ranges = getRanges(id1, id2);

    request = lrf.makeRequest("q", "dummy");

    SplitIndexCommand command = new SplitIndexCommand(request,
        Lists.newArrayList(indexDir1.getAbsolutePath(), indexDir2.getAbsolutePath()), null, ranges, new PlainIdRouter(), null, null);
    new SolrIndexSplitter(command).split();

    Directory directory = h.getCore().getDirectoryFactory().get(indexDir1.getAbsolutePath(),
        DirectoryFactory.DirContext.DEFAULT, h.getCore().getSolrConfig().indexConfig.lockType);
    DirectoryReader reader = DirectoryReader.open(directory);
    assertEquals("id:dorothy should be present in split index1", 1, reader.docFreq(new Term("id", "dorothy")));
    assertEquals("id:kansas should not be present in split index1", 0, reader.docFreq(new Term("id", "kansas")));
    assertEquals("split index1 should have only one document", 1, reader.numDocs());
    reader.close();
    h.getCore().getDirectoryFactory().release(directory);
    directory = h.getCore().getDirectoryFactory().get(indexDir2.getAbsolutePath(),
        DirectoryFactory.DirContext.DEFAULT, h.getCore().getSolrConfig().indexConfig.lockType);
    reader = DirectoryReader.open(directory);
    assertEquals("id:dorothy should not be present in split index2", 0, reader.docFreq(new Term("id", "dorothy")));
    assertEquals("id:kansas should be present in split index2", 1, reader.docFreq(new Term("id", "kansas")));
    assertEquals("split index2 should have only one document", 1, reader.numDocs());
    reader.close();
    h.getCore().getDirectoryFactory().release(directory);
  } finally {
    if (request != null) request.close(); // decrefs the searcher
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:42,代码来源:SolrIndexSplitterTest.java

示例9: testSplitDeletes

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
public void testSplitDeletes() throws Exception {
  LocalSolrQueryRequest request = null;
  try {
    // add two docs
    String id1 = "dorothy";
    assertU(adoc("id", id1));
    String id2 = "kansas";
    assertU(adoc("id", id2));
    assertU(commit());
    assertJQ(req("q", "*:*"), "/response/numFound==2");
    assertU(delI(id2)); // delete id2
    assertU(commit());


    // find minHash/maxHash hash ranges
    List<DocRouter.Range> ranges = getRanges(id1, id2);

    request = lrf.makeRequest("q", "dummy");

    SplitIndexCommand command = new SplitIndexCommand(request,
        Lists.newArrayList(indexDir1.getAbsolutePath(), indexDir2.getAbsolutePath()), null, ranges, new PlainIdRouter(), null, null);
    new SolrIndexSplitter(command).split();

    Directory directory = h.getCore().getDirectoryFactory().get(indexDir1.getAbsolutePath(),
        DirectoryFactory.DirContext.DEFAULT, h.getCore().getSolrConfig().indexConfig.lockType);
    DirectoryReader reader = DirectoryReader.open(directory);
    assertEquals("id:dorothy should be present in split index1", 1, reader.docFreq(new Term("id", "dorothy")));
    assertEquals("id:kansas should not be present in split index1", 0, reader.docFreq(new Term("id", "kansas")));
    assertEquals("split index1 should have only one document", 1, reader.numDocs());
    reader.close();
    h.getCore().getDirectoryFactory().release(directory);
    directory = h.getCore().getDirectoryFactory().get(indexDir2.getAbsolutePath(),
        DirectoryFactory.DirContext.DEFAULT, h.getCore().getSolrConfig().indexConfig.lockType);
    reader = DirectoryReader.open(directory);
    assertEquals(0, reader.numDocs()); // should be empty
    reader.close();
    h.getCore().getDirectoryFactory().release(directory);
  } finally {
    if (request != null) request.close(); // decrefs the searcher
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:42,代码来源:SolrIndexSplitterTest.java

示例10: testSplitByCores

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
@Test
public void testSplitByCores() throws Exception {
  // add two docs
  String id1 = "dorothy";
  assertU(adoc("id", id1));
  String id2 = "kansas";
  assertU(adoc("id", id2));
  assertU(commit());
  assertJQ(req("q", "*:*"), "/response/numFound==2");
  List<DocRouter.Range> ranges = getRanges(id1, id2);

  SolrCore core1 = null, core2 = null;
  try {
    String instanceDir = h.getCore().getCoreDescriptor().getInstanceDir();

    CoreDescriptor dcore1 = buildCoreDescriptor(h.getCoreContainer(), "split1", instanceDir)
        .withDataDir(indexDir1.getAbsolutePath()).withSchema("schema12.xml").build();
    core1 = h.getCoreContainer().create(dcore1);

    CoreDescriptor dcore2 = buildCoreDescriptor(h.getCoreContainer(), "split2", instanceDir)
        .withDataDir(indexDir2.getAbsolutePath()).withSchema("schema12.xml").build();
    core2 = h.getCoreContainer().create(dcore2);

    LocalSolrQueryRequest request = null;
    try {
      request = lrf.makeRequest("q", "dummy");

      SplitIndexCommand command = new SplitIndexCommand(request, null, Lists.newArrayList(core1, core2), ranges, new PlainIdRouter(), null, null);
      new SolrIndexSplitter(command).split();
    } finally {
      if (request != null) request.close();
    }
    EmbeddedSolrServer server1 = new EmbeddedSolrServer(h.getCoreContainer(), "split1");
    EmbeddedSolrServer server2 = new EmbeddedSolrServer(h.getCoreContainer(), "split2");
    server1.commit(true, true);
    server2.commit(true, true);
    assertEquals("id:dorothy should be present in split index1", 1, server1.query(new SolrQuery("id:dorothy")).getResults().getNumFound());
    assertEquals("id:kansas should not be present in split index1", 0, server1.query(new SolrQuery("id:kansas")).getResults().getNumFound());
    assertEquals("id:dorothy should not be present in split index2", 0, server2.query(new SolrQuery("id:dorothy")).getResults().getNumFound());
    assertEquals("id:kansas should be present in split index2", 1, server2.query(new SolrQuery("id:kansas")).getResults().getNumFound());
  } finally {
    h.getCoreContainer().unload("split2");
    h.getCoreContainer().unload("split1");
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:46,代码来源:SolrIndexSplitterTest.java

示例11: testSplitAlternately

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
@Test
public void testSplitAlternately() throws Exception {
  LocalSolrQueryRequest request = null;
  Directory directory = null;
  try {
    // add an even number of docs
    int max = (1 + random().nextInt(10)) * 3;
    log.info("Adding {} number of documents", max);
    for (int i = 0; i < max; i++) {
      assertU(adoc("id", String.valueOf(i)));
    }
    assertU(commit());

    request = lrf.makeRequest("q", "dummy");

    SplitIndexCommand command = new SplitIndexCommand(request,
        Lists.newArrayList(indexDir1.getAbsolutePath(), indexDir2.getAbsolutePath(), indexDir3.getAbsolutePath()), null, null, new PlainIdRouter(), null, null);
    new SolrIndexSplitter(command).split();

    directory = h.getCore().getDirectoryFactory().get(indexDir1.getAbsolutePath(),
        DirectoryFactory.DirContext.DEFAULT, h.getCore().getSolrConfig().indexConfig.lockType);
    DirectoryReader reader = DirectoryReader.open(directory);
    assertEquals("split index1 has wrong number of documents", max / 3, reader.numDocs());
    reader.close();
    h.getCore().getDirectoryFactory().release(directory);
    directory = h.getCore().getDirectoryFactory().get(indexDir2.getAbsolutePath(),
        DirectoryFactory.DirContext.DEFAULT, h.getCore().getSolrConfig().indexConfig.lockType);
    reader = DirectoryReader.open(directory);
    assertEquals("split index2 has wrong number of documents", max / 3, reader.numDocs());
    reader.close();
    h.getCore().getDirectoryFactory().release(directory);
    directory = h.getCore().getDirectoryFactory().get(indexDir3.getAbsolutePath(),
        DirectoryFactory.DirContext.DEFAULT, h.getCore().getSolrConfig().indexConfig.lockType);
    reader = DirectoryReader.open(directory);
    assertEquals("split index3 has wrong number of documents", max / 3, reader.numDocs());
    reader.close();
    h.getCore().getDirectoryFactory().release(directory);
    directory = null;
  } finally {
    if (request != null) request.close(); // decrefs the searcher
    if (directory != null)  {
      // perhaps an assert failed, release the directory
      h.getCore().getDirectoryFactory().release(directory);
    }
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:47,代码来源:SolrIndexSplitterTest.java

示例12: testSplitByRouteKey

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
@Test
public void testSplitByRouteKey() throws Exception  {
  File indexDir = createTempDir();

  CompositeIdRouter r1 = new CompositeIdRouter();
  String splitKey = "sea-line!";
  String key2 = "soul-raising!";

  // murmur2 has a collision on the above two keys
  assertEquals(r1.keyHashRange(splitKey), r1.keyHashRange(key2));

  /*
  More strings with collisions on murmur2 for future reference:
  "Drava" "dessert spoon"
  "Bighorn" "pleasure lover"
  "attributable to" "second edition"
  "sea-line" "soul-raising"
  "lift direction" "testimony meeting"
   */

  for (int i=0; i<10; i++)  {
    assertU(adoc("id", splitKey + i));
    assertU(adoc("id", key2 + i));
  }
  assertU(commit());
  assertJQ(req("q", "*:*"), "/response/numFound==20");

  DocRouter.Range splitKeyRange = r1.keyHashRange(splitKey);

  LocalSolrQueryRequest request = null;
  Directory directory = null;
  try {
    request = lrf.makeRequest("q", "dummy");
    SplitIndexCommand command = new SplitIndexCommand(request,
        Lists.newArrayList(indexDir.getAbsolutePath()), null, Lists.newArrayList(splitKeyRange), new CompositeIdRouter(), null, splitKey);
    new SolrIndexSplitter(command).split();
    directory = h.getCore().getDirectoryFactory().get(indexDir.getAbsolutePath(),
        DirectoryFactory.DirContext.DEFAULT, h.getCore().getSolrConfig().indexConfig.lockType);
    DirectoryReader reader = DirectoryReader.open(directory);
    assertEquals("split index has wrong number of documents", 10, reader.numDocs());
    reader.close();
    h.getCore().getDirectoryFactory().release(directory);
    directory = null;
  } finally {
    if (request != null)  {
      request.close();
    }
    if (directory != null)  {
      h.getCore().getDirectoryFactory().release(directory);
    }
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:53,代码来源:SolrIndexSplitterTest.java

示例13: testSolrParams

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
@Test
public void testSolrParams() throws Exception {
  NamedList nl = new NamedList();
  nl.add("i",555);
  nl.add("s","bbb");
  nl.add("bt","true");
  nl.add("bf","false");

  Map<String,String> m = new HashMap<>();
  m.put("f.field1.i", "1000");
  m.put("s", "BBB");
  m.put("ss", "SSS");

  LocalSolrQueryRequest req = new LocalSolrQueryRequest(null,nl);
  SolrParams p = req.getParams();

  assertEquals(p.get("i"), "555");
  assertEquals(p.getInt("i").intValue(), 555);
  assertEquals(p.getInt("i",5), 555);
  assertEquals(p.getInt("iii",5), 5);
  assertEquals(p.getFieldParam("field1","i"), "555");

  req.setParams(SolrParams.wrapDefaults(p, new MapSolrParams(m)));
  p = req.getParams();
  assertEquals(req.getOriginalParams().get("s"), "bbb");
  assertEquals(p.get("i"), "555");
  assertEquals(p.getInt("i").intValue(), 555);
  assertEquals(p.getInt("i",5), 555);
  assertEquals(p.getInt("iii",5), 5);

  assertEquals(p.getFieldParam("field1","i"), "1000");
  assertEquals(p.get("s"), "bbb");
  assertEquals(p.get("ss"), "SSS");

  assertEquals(!!p.getBool("bt"), !p.getBool("bf"));
  assertEquals(p.getBool("foo",true), true);
  assertEquals(p.getBool("foo",false), false);
  assertEquals(!!p.getBool("bt"), !p.getBool("bf"));

  NamedList more = new NamedList();
  more.add("s", "aaa");
  more.add("s", "ccc");
  more.add("ss","YYY");
  more.add("xx","XXX");
  p = SolrParams.wrapAppended(p, SolrParams.toSolrParams(more));
  assertEquals(3, p.getParams("s").length);
  assertEquals("bbb", p.getParams("s")[0]);
  assertEquals("aaa", p.getParams("s")[1]);
  assertEquals("ccc", p.getParams("s")[2]);
  assertEquals(3, p.getParams("s").length);
  assertEquals("SSS", p.get("ss"));
  assertEquals("XXX", p.get("xx"));

  req.close();
}
 
开发者ID:europeana,项目名称:search,代码行数:56,代码来源:BasicFunctionalityTest.java

示例14: testSplitByPaths

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
@Test
public void testSplitByPaths() throws Exception {
  LocalSolrQueryRequest request = null;
  try {
    // add two docs
    String id1 = "dorothy";
    assertU(adoc("id", id1));
    String id2 = "kansas";
    assertU(adoc("id", id2));
    assertU(commit());
    assertJQ(req("q", "*:*"), "/response/numFound==2");

    // find minHash/maxHash hash ranges
    List<DocRouter.Range> ranges = getRanges(id1, id2);

    request = lrf.makeRequest("q", "dummy");

    SplitIndexCommand command = new SplitIndexCommand(request,
        Lists.newArrayList(indexDir1.getAbsolutePath(), indexDir2.getAbsolutePath()), null, ranges);
    new SolrIndexSplitter(command).split();

    Directory directory = h.getCore().getDirectoryFactory().get(indexDir1.getAbsolutePath(),
        DirectoryFactory.DirContext.DEFAULT, h.getCore().getSolrConfig().indexConfig.lockType);
    DirectoryReader reader = DirectoryReader.open(directory);
    assertEquals("id:dorothy should be present in split index1", 1, reader.docFreq(new Term("id", "dorothy")));
    assertEquals("id:kansas should not be present in split index1", 0, reader.docFreq(new Term("id", "kansas")));
    assertEquals("split index1 should have only one document", 1, reader.numDocs());
    reader.close();
    h.getCore().getDirectoryFactory().release(directory);
    directory = h.getCore().getDirectoryFactory().get(indexDir2.getAbsolutePath(),
        DirectoryFactory.DirContext.DEFAULT, h.getCore().getSolrConfig().indexConfig.lockType);
    reader = DirectoryReader.open(directory);
    assertEquals("id:dorothy should not be present in split index2", 0, reader.docFreq(new Term("id", "dorothy")));
    assertEquals("id:kansas should be present in split index2", 1, reader.docFreq(new Term("id", "kansas")));
    assertEquals("split index2 should have only one document", 1, reader.numDocs());
    reader.close();
    h.getCore().getDirectoryFactory().release(directory);
  } finally {
    if (request != null) request.close(); // decrefs the searcher
  }
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:42,代码来源:SolrIndexSplitterTest.java

示例15: testSplitByCores

import org.apache.solr.request.LocalSolrQueryRequest; //导入方法依赖的package包/类
@Test
public void testSplitByCores() throws Exception {
  // add two docs
  String id1 = "dorothy";
  assertU(adoc("id", id1));
  String id2 = "kansas";
  assertU(adoc("id", id2));
  assertU(commit());
  assertJQ(req("q", "*:*"), "/response/numFound==2");
  List<DocRouter.Range> ranges = getRanges(id1, id2);

  SolrCore core1 = null, core2 = null;
  try {
    CoreDescriptor dcore1 = new CoreDescriptor(h.getCoreContainer(), "split1", h.getCore().getCoreDescriptor().getInstanceDir());
    dcore1.setDataDir(indexDir1.getAbsolutePath());
    dcore1.setSchemaName("schema12.xml");
    core1 = h.getCoreContainer().create(dcore1);
    h.getCoreContainer().register(core1, false);

    CoreDescriptor dcore2 = new CoreDescriptor(h.getCoreContainer(), "split2", h.getCore().getCoreDescriptor().getInstanceDir());
    dcore2.setDataDir(indexDir2.getAbsolutePath());
    dcore2.setSchemaName("schema12.xml");
    core2 = h.getCoreContainer().create(dcore2);
    h.getCoreContainer().register(core2, false);

    LocalSolrQueryRequest request = null;
    try {
      request = lrf.makeRequest("q", "dummy");

      SplitIndexCommand command = new SplitIndexCommand(request, null, Lists.newArrayList(core1, core2), ranges);
      new SolrIndexSplitter(command).split();
    } finally {
      if (request != null) request.close();
    }
    EmbeddedSolrServer server1 = new EmbeddedSolrServer(h.getCoreContainer(), "split1");
    EmbeddedSolrServer server2 = new EmbeddedSolrServer(h.getCoreContainer(), "split2");
    server1.commit(true, true);
    server2.commit(true, true);
    assertEquals("id:dorothy should be present in split index1", 1, server1.query(new SolrQuery("id:dorothy")).getResults().getNumFound());
    assertEquals("id:kansas should not be present in split index1", 0, server1.query(new SolrQuery("id:kansas")).getResults().getNumFound());
    assertEquals("id:dorothy should not be present in split index2", 0, server2.query(new SolrQuery("id:dorothy")).getResults().getNumFound());
    assertEquals("id:kansas should be present in split index2", 1, server2.query(new SolrQuery("id:kansas")).getResults().getNumFound());
  } finally {
    h.getCoreContainer().remove("split2");
    h.getCoreContainer().remove("split1");
    if (core2 != null) core2.close();
    if (core1 != null) core1.close();
  }
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:50,代码来源:SolrIndexSplitterTest.java


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