DistributedSearchTest.java
上传用户:cctqzzy
上传日期:2022-03-14
资源大小:12198k
文件大小:2k
源码类别:

搜索引擎

开发平台:

Java

  1. /*
  2. * Licensed to the Apache Software Foundation (ASF) under one or more
  3. * contributor license agreements.  See the NOTICE file distributed with
  4. * this work for additional information regarding copyright ownership.
  5. * The ASF licenses this file to You under the Apache License, Version 2.0
  6. * (the "License"); you may not use this file except in compliance with
  7. * the License.  You may obtain a copy of the License at
  8. *
  9. *     http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. package chapter10;
  18. import org.apache.nutch.searcher;
  19. import java.io.IOException;
  20. import java.net.InetSocketAddress;
  21. import org.apache.hadoop.conf.Configuration;
  22. import org.apache.hadoop.fs.Path;
  23. import org.apache.hadoop.ipc.Server;
  24. import org.apache.nutch.searcher.DistributedSearch.Client;
  25. import org.apache.nutch.util.NutchConfiguration;
  26. import junit.framework.TestCase;
  27. public class DistributedSearchTest extends TestCase {
  28.   private static final int DEFAULT_PORT = 60000;
  29.   private static final String DISTRIBUTED_SEARCH_TEST_PORT = "distributed.search.test.port";
  30.   Configuration conf;
  31.   Path searchdir=new Path("build/test/data/testcrawl/");
  32.   Server server;
  33.   
  34.   protected void setUp() throws Exception {
  35.     super.setUp();
  36.     conf=NutchConfiguration.create();
  37.     //set up server & start it
  38.     server=DistributedSearch.Server.getServer(conf, searchdir, conf.getInt(DISTRIBUTED_SEARCH_TEST_PORT, DEFAULT_PORT));
  39.     server.start();
  40.   }
  41.   protected void tearDown() throws Exception {
  42.     super.tearDown();
  43.     if(server!=null){
  44.       //stop server
  45.       //server.stop();
  46.     }
  47.   }
  48.   public void testDistibutedSearch() throws IOException{
  49.     int port=conf.getInt(DISTRIBUTED_SEARCH_TEST_PORT, DEFAULT_PORT);
  50.     
  51.     InetSocketAddress[] addresses=new InetSocketAddress[1];
  52.     addresses[0]=new InetSocketAddress("localhost", port);
  53.     
  54.     Client c=new DistributedSearch.Client(addresses, conf);
  55.     Query query=Query.parse("apache", conf);
  56.     Hits hits=c.search(query, 5, null, null, false);
  57.     c.getDetails(hits.getHit(0));
  58.     assertTrue(hits.getTotal()>0);
  59.   }
  60. }