Example usage for org.apache.solr.spelling.suggest SolrSuggester build

List of usage examples for org.apache.solr.spelling.suggest SolrSuggester build

Introduction

In this page you can find the example usage for org.apache.solr.spelling.suggest SolrSuggester build.

Prototype

public void build(SolrCore core, SolrIndexSearcher searcher) throws IOException 

Source Link

Document

Build the underlying Lucene Suggester

Usage

From source file:org.alfresco.solr.component.AsyncBuildSuggestComponent.java

License:Open Source License

/** Responsible for issuing build and rebload command to the specified {@link SolrSuggester} */
@Override/* ww w .j a  v a2 s .  co m*/
public void prepare(ResponseBuilder rb) throws IOException {
    SolrParams params = rb.req.getParams();
    LOG.debug("SuggestComponent prepare with : " + params);
    if (!params.getBool(COMPONENT_NAME, false)) {
        return;
    }

    boolean buildAll = params.getBool(SUGGEST_BUILD_ALL, false);
    boolean reloadAll = params.getBool(SUGGEST_RELOAD_ALL, false);

    final Collection<SolrSuggester> querysuggesters;
    if (buildAll || reloadAll) {
        Collection<SuggesterCache> suggesterCaches = suggesters.values();
        querysuggesters = new ArrayList<SolrSuggester>(suggesterCaches.size());
        for (SuggesterCache cache : suggesterCaches) {
            querysuggesters.add(cache.get(ASYNC_CACHE_KEY));
        }
    } else {
        querysuggesters = getSuggesters(params);
    }

    if (params.getBool(SUGGEST_BUILD, false) || buildAll) {
        for (SolrSuggester suggester : querysuggesters) {
            suggester.build(rb.req.getCore(), rb.req.getSearcher());
        }
        rb.rsp.add("command", (!buildAll) ? "build" : "buildAll");
    } else if (params.getBool(SUGGEST_RELOAD, false) || reloadAll) {
        for (SolrSuggester suggester : querysuggesters) {
            reloadSuggester(suggester, rb.req.getCore(), rb.req.getSearcher());
        }
        rb.rsp.add("command", (!reloadAll) ? "reload" : "reloadAll");
    }
}

From source file:org.alfresco.solr.component.AsyncBuildSuggestComponent.java

License:Open Source License

private void reloadSuggester(SolrSuggester suggester, SolrCore core, SolrIndexSearcher searcher)
        throws IOException {
    File storeFile = suggester.getStoreFile();
    if (storeFile == null || !storeFile.exists()) {
        suggester.build(core, searcher);
    } else {/*from ww w. jav a2  s.  c  o m*/
        suggester.reload(core, searcher);
    }
}