Package org.fao.geonet.kernel.search

Examples of org.fao.geonet.kernel.search.SearchManager$Spatial


      // Run last search if xml.search or q service is used (ie. last searcher is not stored in current session).
      if (request != null) {
              request = (Element) request.clone();
              request.addContent(new Element(Geonet.SearchResult.BUILD_SUMMARY).setText("false"));
        GeonetContext gc = (GeonetContext) context.getHandlerContext(Geonet.CONTEXT_NAME);
        SearchManager searchMan = gc.getBean(SearchManager.class);
        try {
          searcher = searchMan.newSearcher(SearchManager.LUCENE, Geonet.File.SEARCH_LUCENE);
          ServiceConfig sc = new ServiceConfig();
          ((LuceneSearcher)searcher).search(context, request, sc);
        } catch (Exception e) {
          e.printStackTrace();
        }
View Full Code Here


    public static String lookupMetadataIdFromFileId(GeonetContext gc, String fileId) throws IOException,
            InterruptedException {
        TermQuery query = new TermQuery(new Term("fileId", fileId));

        SearchManager searchManager = gc.getBean(SearchManager.class);

        IndexAndTaxonomy indexAndTaxonomy = searchManager.getIndexReader(null, -1);
    GeonetworkMultiReader reader = indexAndTaxonomy.indexReader;

        try {
            IndexSearcher searcher = new IndexSearcher(reader);
            TopDocs tdocs = searcher.search(query, 1);

            if (tdocs.totalHits > 0) {

                Set<String> id = Collections.singleton("_id");
                Document element = reader.document(tdocs.scoreDocs[0].doc, id);
                return element.get("_id");
            }

            return null;
        } finally {
            searchManager.releaseIndexReader(indexAndTaxonomy);
        }
    }
View Full Code Here

    context.info("Creating searcher");

    Element       params = buildParams();
    ServiceConfig config = new ServiceConfig();

    SearchManager searchMan = gc.getBean(SearchManager.class);
    MetaSearcher  searcher  = searchMan.newSearcher(SearchManager.LUCENE, Geonet.File.SEARCH_LUCENE);

    searcher.search(context, params, config);

    params.addContent(new Element("from").setText("1"));
    params.addContent(new Element("to").setText(searcher.getSize() +""));
View Full Code Here

  //---------------------------------------------------------------------------

  public static List<Integer> search(ServiceContext context, Element params) throws Exception
  {
    GeonetContext gc = (GeonetContext) context.getHandlerContext(Geonet.CONTEXT_NAME);
    SearchManager sm = gc.getBean(SearchManager.class);

    MetaSearcher searcher = sm.newSearcher(SearchManager.LUCENE, Geonet.File.SEARCH_LUCENE);

        if(context.isDebugEnabled()) context.debug("Searching with params:\n"+ Xml.getString(params));

    searcher.search(context, params, dummyConfig);
View Full Code Here

               try {

                       GeonetContext gc = (GeonetContext) this.srvxtx
                       .getHandlerContext(Geonet.CONTEXT_NAME);
                       SearchManager searchMan = gc.getBean(SearchManager.class);

                       metasearcher = searchMan.newSearcher(SearchManager.LUCENE,
                                       Geonet.File.SEARCH_Z3950_SERVER);

               } catch (Exception e) {
                   if(Log.isDebugEnabled(Geonet.Z3950_SERVER))
                       Log.debug(Geonet.Z3950_SERVER, "error constructing GNresult set: " + e);
View Full Code Here

    }


    private Element search(String uuid, String type, ServiceContext context, String from, String to, String fast) throws Exception {
        GeonetContext gc = (GeonetContext) context.getHandlerContext(Geonet.CONTEXT_NAME);
        SearchManager searchMan = gc.getBean(SearchManager.class);

        // perform the search
        if (Log.isDebugEnabled(Geonet.SEARCH_ENGINE))
            Log.debug(Geonet.SEARCH_ENGINE, "Searching for: " + type);
        MetaSearcher searcher = searchMan.newSearcher(SearchManager.LUCENE, Geonet.File.SEARCH_LUCENE);

        try {
            // Creating parameters for search, fast only to retrieve uuid
            Element parameters = new Element(Jeeves.Elem.REQUEST);
            if ("children".equals(type))
View Full Code Here

  public Element exec(Element params, ServiceContext context) throws Exception
  {
    if (System.currentTimeMillis() > _lastUpdateTime + _timeBetweenUpdates)
    {
      GeonetContext gc = (GeonetContext) context.getHandlerContext(Geonet.CONTEXT_NAME);
      SearchManager searchMan = gc.getBean(SearchManager.class);
      MetaSearcher  searcher  = searchMan.newSearcher(SearchManager.LUCENE, Geonet.File.SEARCH_LUCENE);

      try {
        // FIXME: featured should be at metadata level, not at group level
        Element searchRequest = new Element("request");
        searchRequest.addContent(new Element(Geonet.SearchResult.BUILD_SUMMARY).setText("false"));
View Full Code Here

    _request.addContent(new Element("to".setText(""));

    if (System.currentTimeMillis() > _lastUpdateTime + _timeBetweenUpdates)
    {
      GeonetContext gc = (GeonetContext) context.getHandlerContext(Geonet.CONTEXT_NAME);
      SearchManager searchMan = gc.getBean(SearchManager.class);
      DataManager   dataMan   = gc.getBean(DataManager.class);

      _request.getChild("to").setText(""+_maxItems);

      _response = new Element(Jeeves.Elem.RESPONSE);

      // perform the search and return the results read from the index
      Log.info(Geonet.SEARCH_ENGINE, "Creating latest updates searcher");
      MetaSearcher searcher = searchMan.newSearcher(SearchManager.LUCENE, Geonet.File.SEARCH_LUCENE);
      searcher.search(context, _request, _config);
      Map<Integer,Metadata> allMdInfo = ((LuceneSearcher)searcher).getAllMdInfo(context, _maxItems);
      for (Integer id : allMdInfo.keySet()) {
        try {
          boolean forEditing = false;
View Full Code Here

        if(Log.isDebugEnabled(Geonet.MEF))
            Log.debug(Geonet.MEF, "Creating searcher to run request: " + Xml.getString(request));

    GeonetContext gc = (GeonetContext) context
        .getHandlerContext(Geonet.CONTEXT_NAME);
    SearchManager searchMan = gc.getBean(SearchManager.class);
    MetaSearcher searcher = searchMan.newSearcher(SearchManager.LUCENE,
        Geonet.File.SEARCH_LUCENE);

    Set<String> uuids = new HashSet<String>();

    // perform the search
View Full Code Here

   */
  public Element exec(Element params, ServiceContext context) throws Exception
  {
    GeonetContext gc = (GeonetContext) context.getHandlerContext(Geonet.CONTEXT_NAME);
   
    SearchManager searchMan = gc.getBean(SearchManager.class);

    String restoreLastSearch = _config.getValue("restoreLastSearch","no");

    // store or possibly close old searcher
    UserSession  session     = context.getUserSession();
    Object oldSearcher = session.getProperty(Geonet.Session.SEARCH_RESULT);

    if (oldSearcher != null) {
      if (restoreLastSearch.equals("yes")) {
        session.setProperty(Geonet.Session.LAST_SEARCH_RESULT, oldSearcher);
      } else {
        if (oldSearcher instanceof LuceneSearcher) ((LuceneSearcher)oldSearcher).close();
      }
    }

    context.info("Get selected metadata");
    SelectionManager sm = SelectionManager.getManager(session) ;

    // Get the sortBy params in order to apply on new result list.
        if (StringUtils.isNotEmpty(params.getChildText(Geonet.SearchResult.SORT_BY)) ) {
            params.addContent(new Element(Geonet.SearchResult.SORT_BY).setText(params.getChildText(Geonet.SearchResult.SORT_BY)));
        }

        if (StringUtils.isNotEmpty(params.getChildText(Geonet.SearchResult.SORT_ORDER))) {
            params.addContent(new Element(Geonet.SearchResult.SORT_ORDER).setText(params.getChildText(Geonet.SearchResult.SORT_ORDER)));
        }
       
    if (sm != null) {
      String uuids= "";
      boolean first = true;
      synchronized(sm.getSelection("metadata")) {
        for (Iterator<String> iter = sm.getSelection("metadata").iterator(); iter.hasNext();) {
          String uuid = (String) iter.next();
          if (first) {
            uuids = (String) uuid;
            first = false;
          }
          else
            uuids = uuids +" or "+ uuid;
        }
      }
            if(context.isDebugEnabled())
                context.debug("List of selected uuids: " + uuids);
      params.addContent(new Element(Geonet.SearchResult.UUID).setText(uuids));

    }
   
    // perform the search and save search result into session
    MetaSearcher searcher;

    context.info("Creating searchers");

    searcher = searchMan.newSearcher(SearchManager.LUCENE, Geonet.File.SEARCH_LUCENE);

    searcher.search(context, params, _config);

    session.setProperty(Geonet.Session.SEARCH_RESULT, searcher);

View Full Code Here

TOP

Related Classes of org.fao.geonet.kernel.search.SearchManager$Spatial

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.