⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 searchimpl.java

📁 simple spider 源码 better light faster java 书籍源码.
💻 JAVA
字号:
package com.develop.ss.axis;

import com.develop.ss.search.QueryBean;
import com.develop.ss.search.HitBean;

import com.develop.ss.config.ConfigBean;
import com.develop.ss.IndexLinks;

import java.rmi.RemoteException;
import java.util.Iterator;
import java.util.ArrayList;
import java.io.IOException;

import org.apache.axis.AxisEngine;
import org.apache.axis.AxisFault;
import org.apache.axis.MessageContext;
import org.apache.axis.types.URI;
import org.apache.lucene.queryParser.ParseException;

import javax.servlet.ServletContext;
import javax.servlet.GenericServlet;
import javax.servlet.jsp.JspException;
import javax.xml.soap.SOAPFault;

public class SearchImpl implements SiteSearch {
  public ServletContext getServletContext() {
    MessageContext mctx = MessageContext.getCurrentContext();
    GenericServlet axis = (GenericServlet)mctx.getProperty("transport.http.servlet");
    return axis.getServletContext();
  }
  public ResponseType[] searchContents(QueryType request) throws RemoteException {
    try {
      ConfigBean config = new ConfigBean();
      ServletContext context = getServletContext();
      if (context == null) {
        throw new Error("null servlet context");
      }
      //indexPathBean.setContext(context);
      QueryBean query = new QueryBean(config.getCurIndexPath(), request.getSeachString());
      query.execute();
      HitBean[] fullResults = query.getResults();
      ArrayList result = new ArrayList();
      for (int n=0; n<fullResults.length; n++) {
        HitBean hit = fullResults[n];
        if (hit.getScore() >= request.getThreshold()) {
          ResponseType rt = new ResponseType();
          rt.setScore(hit.getScore());
          rt.setUrl(new URI(hit.getUrl()));
          result.add(rt);
        }
      }
      return (ResponseType[]) result.toArray(new ResponseType[result.size()]);
    } catch (Exception e) {
      getServletContext().log(e, "fail");
      throw new AxisFault(e.getMessage());
    }
  }

    public void doIndex(String indexUrl)
    {
         try
            {

            ConfigBean config = new ConfigBean();
            String nextIndex;
            try
            {
               nextIndex = config.getNextIndexPath();
            }
            catch(Exception ex)
            {
                return;
            }

            IndexLinks lts = new IndexLinks(nextIndex, config.getMaxLinks(), config.getSkippedLinksFile());
            lts.initFollowPrefixesFromSystemProperties();
            lts.initAvoidPrefixesFromSystemProperties();
            lts.setInitialLink(indexUrl);

            config.flipIndexPath();

            }
            catch(Exception e)
            {
                //System.out.print(e.getStackTrace());
            }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -