All pastes #108084 Raw Edit

Unnamed

public text v1 · immutable
#108084 ·published 2006-07-31 08:31 UTC
rendered paste body
    public int search(String q, boolean refineQuery, String sort_field) throws Exception {
        System.out.println("------------------" + sort_field + "-----------------");
        System.out.println("-- changes made for sort in place    -----------------");
        System.out.println("-- changes made for sort in place    -----------------");
        System.out.println("-- changes made for sort in place    -----------------");
        System.out.println("-- changes made for sort in place    -----------------");
        System.out.println("-- changes made for sort in place    -----------------");
        System.out.println("-- changes made for sort in place    -----------------");
        System.out.println("-- changes made for sort in place    -----------------");
        System.out.println("-- changes made for sort in place    -----------------");
        System.out.println("-- changes made for sort in place    -----------------");
        System.out.println("-- changes made for sort in place    -----------------");
        System.out.println("-- changes made for sort in place    -----------------");
        System.out.println("-- changes made for sort in place    -----------------");

        System.out.println("------------------" + sort_field + "-----------------");
        Qury = q;
        if( absDir == null | urlAdd == null | umlsDir == null) {
            throw new  EmptyDataDir("Either one or more (absDir, urlAdd, umlsDir) attribute is not set. Use appropriate set method. / properties file");
        }//if

        BooleanQuery.setMaxClauseCount(Integer.MAX_VALUE);

        int rtnCode = 0;
        profiler = new Profiler();
        profiler.setQuery(q);
        QueryFormat queryFormat = new QueryFormat(umlsDir,profiler, refineQuery);
        String formattedQuery = new String();

        if(!refineQuery)
            formattedQuery = validateAndFormatQuery(q,queryFormat);
        else
            formattedQuery = q;

        System.out.println("Formatted Query :" + formattedQuery);
        fQuery =formattedQuery; // for testing
        htmlDir = new String[serverName.length];

        if(formattedQuery.length() > 0) {
            int aliveServers = 0;
            Searchable[]  searchables = new Searchable[serverName.length];
            for(int j=0; j < serverName.length; j++) {

                searchables[j]=null;
                try {
                    searchables[j] = lookupServer(serverName[j], bindingName, port[j]);
                    System.out.println("Server " + serverName[j] + " up");
                    htmlDir[aliveServers] = absDir[j];
                    aliveServers++;
                } catch (Exception e) {
                    System.out.println("Server " + serverName[j] + " is down.");
                    //e.printStackTrace();
                }

            }//for

            if(aliveServers == 0) {
                System.out.println("Servers are not alive");

            }//if

            if(aliveServers!=0) {
                Searchable[]  searchableLive = new Searchable[aliveServers];
                for(int alive = 0,  k = 0; k < serverName.length; k++) {
                    if(searchables[k] != null) {
                        searchableLive[alive] = searchables[k];
                        alive++;
                    }//if
                }//for
                MultiSearcher mSearcher = null;
                try {
                    mSearcher = new MultiSearcher(searchableLive);
                } catch(Exception e) {
                    e.printStackTrace();
                }
                //searcherCache.put(bindingName,mSearcher);  // Cache Searchables in the Hashmap

                QueryParser queryParser = new QueryParser("abstract",  new StandardAnalyzer());
                Query query = null;
                //formattedQuery = removeSquarebracket(formattedQuery);

                //System.out.println("------------------" + formattedQuery + "-----------------");
                try {
                    query = queryParser.parse(formattedQuery);
                } catch(org.apache.lucene.queryParser.ParseException pe) {
                    System.out.println("ERROR: formattedQuery : " + formattedQuery);
                    pe.printStackTrace();
                    rtnCode = -1;
                    return rtnCode;
                }
                //System.out.println("********************" + query + "***********************");
                float start = new Date().getTime();
                try {
                    long Start = System.currentTimeMillis();

                    //hits = mSearcher.search(query);
                    Sort sort_obj = new Sort();
                    sort_obj.setSort(sort_field);
                    if(sort_field == null)
                    {
                        hits = mSearcher.search(query);
                    }
                    else
                    {
                        try
                        {
                            hits = mSearcher.search(query,sort_obj);
                        }
                        catch (Exception cat1)
                        {
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            cat1.printStackTrace();
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            System.out.println("******************** stack trace ***********************");
                            sort_obj.setSort("pmid");
                            hits = mSearcher.search(query,sort_obj);
                        }
                    }
                    long End = System.currentTimeMillis();
                    if(profiler != null) {
                        profiler.addStatistics(""+(End - Start));
                        profiler.addStatistics(""+hits.length());
                        System.out.println("--------Profiler------------------\n Thread Id : "+profiler.getId()+" Terms :"+profiler.getQuery()+"  Data : "+profiler.getStatistics());
                    }
                    profiler = null;

                    rtnCode = hits.length();
                    float end = new Date().getTime();
                    timeTaken = end - start;
                    pmr = new PubMedResult(serverName,mSearcher,sort_field, hits, q, timeTaken, htmlDir, urlAdd, navFnc);
                    setFlag = true;
                } catch(Exception e) {
                    e.printStackTrace();
                    rtnCode = -1;
                    return rtnCode;
                }

            } else {

                rtnCode = -1;

            }//if
        } else {

            rtnCode = -1;

        }//if

        return rtnCode;

    }//search