Example usage for org.apache.solr.handler.admin LukeRequestHandler handleRequest

List of usage examples for org.apache.solr.handler.admin LukeRequestHandler handleRequest

Introduction

In this page you can find the example usage for org.apache.solr.handler.admin LukeRequestHandler handleRequest.

Prototype

@Override
    public void handleRequest(SolrQueryRequest req, SolrQueryResponse rsp) 

Source Link

Usage

From source file:org.xwiki.platform.search.internal.SolrjSearchRequest.java

License:Open Source License

/**
 * @return List of Fields./*w ww .j av a  2s.com*/
 */
private List<String> getFields() {
    CoreContainer container = (CoreContainer) searchEngine.getCoreContainer();
    SolrCore core = null;
    for (SolrCore c : container.getCores()) {
        core = c;
    }

    Map<String, SolrInfoMBean> reg = core.getInfoRegistry();
    LukeRequestHandler handler = (LukeRequestHandler) reg.get("/admin/luke");
    LocalSolrQueryRequest req = new LocalSolrQueryRequest(core, new ModifiableSolrParams());
    SolrQueryResponse response = new SolrQueryResponse();
    handler.handleRequest(req, response);
    NamedList list = response.getValues();

    List<String> fieldsList = new ArrayList<String>();
    for (Object obj : list.getAll("fields")) {
        SimpleOrderedMap map = (SimpleOrderedMap) obj;
        Iterator<Map.Entry<String, Object>> entries = map.iterator();
        while (entries.hasNext()) {
            Map.Entry<String, Object> entry = entries.next();
            fieldsList.add(entry.getKey());
        }
    }

    return fieldsList;

}