Changeset 1604 for TI01-discovery/trunk


Ignore:
Timestamp:
18/10/06 23:29:42 (13 years ago)
Author:
mpritcha
Message:

Updated to implement scoped search.

Location:
TI01-discovery/trunk/ws-Discovery2/src/ndg/services/discovery
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • TI01-discovery/trunk/ws-Discovery2/src/ndg/services/discovery/DiscoveryServiceSkeleton.java

    r1600 r1604  
    4343                { 
    4444                        agent.setOrderBy( requestContent.getOrderBy().toString() ); 
     45                } 
     46 
     47                if ( requestContent.sizeOfScopeArray() > 0) 
     48                { 
     49                        for (int i=0; i<requestContent.sizeOfScopeArray(); i++) 
     50                        { 
     51                                agent.addNewScope( requestContent.getScopeArray(i).toString() ); 
     52                        } 
    4553                } 
    4654 
  • TI01-discovery/trunk/ws-Discovery2/src/ndg/services/discovery/FullTextSearchAgent.java

    r1573 r1604  
    115115                        //xqueryStr = xqueryStr.replaceAll("__orderBy__", orderBy); 
    116116 
     117                        // Construct clause to add scope restriction if requested 
     118                        String scopeClause = ""; 
     119                        if ( this.scopes.size() > 0) 
     120                        { 
     121                                Iterator it = scopes.iterator(); 
     122                                scopeClause += " and ( ./ndgDoc/keywords/keyword |= \'"; 
     123                                if ( it.hasNext() ) 
     124                                { 
     125                                        scopeClause += (String)it.next() + " "; 
     126                                } 
     127                                scopeClause += "\' ) "; 
     128                        } 
     129                        xqueryStr = xqueryStr.replaceAll("__scope__", scopeClause); 
     130                        System.out.println("Xquery was \n" + xqueryStr); 
     131 
    117132                        queryParams.addElement( xqueryStr.getBytes("UTF-8") );  
    118133 
  • TI01-discovery/trunk/ws-Discovery2/src/ndg/services/discovery/PresentAgent.java

    r1600 r1604  
    143143                                        } 
    144144                                } 
    145                                 else if ( this.format.equals("ndgdoc") ) 
     145                                else if ( this.format.equals("ndgDoc") ) 
    146146                                { 
    147147                                        result.setDocument( new String( returnDoc ) ); 
  • TI01-discovery/trunk/ws-Discovery2/src/ndg/services/discovery/SearchAgent.java

    r1571 r1604  
    3131        int howMany = howManyDefault; 
    3232        String orderBy; 
     33        Vector scopes = new Vector(); 
    3334 
    3435        // Output parameters 
     
    8889                } 
    8990        } 
     91 
     92        /** 
     93         * Adds new scope item to the search, telling Agent to search only documents containing these keywords 
     94         * @param s String, one of "NERC-DDC", etc 
     95         */ 
     96        public void addNewScope(String s) 
     97        { 
     98                this.scopes.add(s); 
     99        } 
     100 
     101        /** 
     102         * Returns the Vector of search scopes 
     103         * @return scopes containing String elements like NERC-DDC etc 
     104         */ 
     105        public Vector getScopes() 
     106        { 
     107                return this.scopes; 
     108        } 
     109 
    90110} 
    91111 
Note: See TracChangeset for help on using the changeset viewer.