当前位置: 首页>>代码示例>>Java>>正文


Java GroupCommand类代码示例

本文整理汇总了Java中org.apache.solr.client.solrj.response.GroupCommand的典型用法代码示例。如果您正苦于以下问题:Java GroupCommand类的具体用法?Java GroupCommand怎么用?Java GroupCommand使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


GroupCommand类属于org.apache.solr.client.solrj.response包,在下文中一共展示了GroupCommand类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getResponseDocuments

import org.apache.solr.client.solrj.response.GroupCommand; //导入依赖的package包/类
protected List<SolrDocument> getResponseDocuments(QueryResponse response) {
    List<SolrDocument> docs;
    
    if (response.getGroupResponse() == null) {
        docs = response.getResults();
    } else {
        docs = new ArrayList<SolrDocument>();
        GroupResponse gr = response.getGroupResponse();
        for (GroupCommand gc : gr.getValues()) {
            for (Group g : gc.getValues()) {
                for (SolrDocument d : g.getResult()) {
                    docs.add(d);
                }
            }
        }
    }
    
    return docs;
}
 
开发者ID:passion1014,项目名称:metaworks_framework,代码行数:20,代码来源:SolrSearchServiceImpl.java

示例2: execute

import org.apache.solr.client.solrj.response.GroupCommand; //导入依赖的package包/类
public boolean execute() {
  SolrQuery query = queryGenerator.generate();
  try {
    logger.debug("executing query: " + query);
    long init = System.nanoTime();
    QueryResponse response = this.executeQuery(query);
    long clientTime = (System.nanoTime() - init)/1000000;
    if (response.getGroupResponse() != null) {
        for (GroupCommand command : response.getGroupResponse().getValues()) {
          logger.debug(command.getNGroups() + " groups found for " + command.getName() + " in " + response.getQTime() + " ms");
        }
    } else {
      logger.debug(response.getResults().getNumFound() + " results found in " + response.getQTime() + " ms");
    }
    if(response.getQTime() < 0) {
      throw new RuntimeException("The query returned less than 0 as q time: " + response.getResponseHeader().get("q") + response.getQTime());
    }
    executor.notifyQueryExecuted(response, clientTime);
  } catch (SolrServerException e) {
    logger.error("Error on Query " + query);
    e.printStackTrace();
    executor.notifyError(new QueryException(e, query));
    return false;
  }
  return true;
}
 
开发者ID:lafourchette,项目名称:solrmeter,代码行数:27,代码来源:QueryOperation.java

示例3: getResponseDocuments

import org.apache.solr.client.solrj.response.GroupCommand; //导入依赖的package包/类
@Override
public List<SolrDocument> getResponseDocuments(QueryResponse response) {
    List<SolrDocument> docs;

    if (response.getGroupResponse() == null) {
        docs = response.getResults();
    } else {
        docs = new ArrayList<SolrDocument>();
        GroupResponse gr = response.getGroupResponse();
        for (GroupCommand gc : gr.getValues()) {
            for (Group g : gc.getValues()) {
                for (SolrDocument d : g.getResult()) {
                    docs.add(d);
                }
            }
        }
    }

    return docs;
}
 
开发者ID:takbani,项目名称:blcdemo,代码行数:21,代码来源:SolrHelperServiceImpl.java

示例4: QueryLogValue

import org.apache.solr.client.solrj.response.GroupCommand; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public QueryLogValue(QueryResponse response) {
  Object parameter;
  error = false;

  NamedList<Object> params = (NamedList<Object>)response.getResponseHeader().get("params");
  if(params!=null) {
   parameter = params.get("q");
   if (parameter != null) {
     queryString = parameter.toString();
   }
   parameter = params.get("fq");
   if (parameter != null) {
     filterQueryString = parameter.toString();
   }
  }
  
  facetQueryString = createFacetQuery(response.getFacetFields());
  qTime = response.getQTime();
  if (response.getGroupResponse() != null) {
    results = new Long(0);
    for (GroupCommand command : response.getGroupResponse().getValues()) {
        if (command.getNGroups() != null) {
            results += command.getNGroups();
        }
    }
  } else {
      results = response.getResults().getNumFound();
  }
}
 
开发者ID:lafourchette,项目名称:solrmeter,代码行数:31,代码来源:QueryLogStatistic.java

示例5: getTopGenesForIndividual

import org.apache.solr.client.solrj.response.GroupCommand; //导入依赖的package包/类
@Override
public List<String> getTopGenesForIndividual(String id, Integer k) {
    logger.debug(String.format("getTopGenesForIndividual(%s, %d)", id, k));
    final List<String> list = new LinkedList<>();

    String queryString = String.format("%s:%s", VariantsSchema.CALLSET_IDS, id);

    SolrQuery q = new SolrQuery()
            .setQuery(queryString)
            .setRows(k)
            .setSort(
                    VariantsSchema.getCallsetsFieldName(id, VariantsSchema.EXOMISER_GENE_COMBINED_SCORE),
                    SolrQuery.ORDER.desc)
            .setParam(GroupParams.GROUP, true)
            .setParam(GroupParams.GROUP_FIELD, VariantsSchema.GENE);

    QueryResponse resp;
    try {
        resp = server.query(q);
    } catch (SolrServerException | IOException e) {
        logger.error("Solr Exception", e);
        return list;
    }

    for (GroupCommand command : resp.getGroupResponse().getValues()) {
        for (Group group : command.getValues()) {
            list.add(group.getGroupValue());
        }
    }

    return list;
}
 
开发者ID:phenotips,项目名称:variant-store,代码行数:33,代码来源:SolrController.java

示例6: autocomplete

import org.apache.solr.client.solrj.response.GroupCommand; //导入依赖的package包/类
public List<Match> autocomplete(String query, Integer pageSize, Map<String, String> selectedFacets) throws SolrServerException {
	SolrQuery solrQuery = new SolrQuery();

	if (query != null && !query.trim().equals("")) {
		//String searchString = query.trim().replace(" ", "+");
		solrQuery.setQuery(query);
	} else {
		return new ArrayList<Match>();
	}

	// Filter the searchable objects out
	solrQuery.addFilterQuery("base.class_searchable_b:" + isSearchableObject());

	// Set additional result parameters
	solrQuery.setRows(pageSize);

	if(selectedFacets != null && !selectedFacets.isEmpty()) {
		for(String facetName : selectedFacets.keySet()) {
			solrQuery.addFilterQuery(facetName + ":" + selectedFacets.get(facetName));
		}
	}

	solrQuery.set("defType","edismax");
	solrQuery.set("qf", "autocomplete^3 autocompleteng");
	solrQuery.set("pf", "autocompletenge");
	solrQuery.set("fl","autocomplete,id");
	solrQuery.setHighlight(true);
	solrQuery.set("hl.fl", "autocomplete");
	solrQuery.set("hl.snippets",3);
	solrQuery.setHighlightSimplePre("<b>");
	solrQuery.setHighlightSimplePost("</b>");
	solrQuery.set("group","true");
	solrQuery.set("group.field", "autocomplete");

	QueryResponse queryResponse = solrServer.query(solrQuery);

	List<Match> results = new ArrayList<Match>();
	Map<String,Match> matchMap = new HashMap<String,Match>();
	for(GroupCommand groupCommand : queryResponse.getGroupResponse().getValues()) {
		for (Group group : groupCommand.getValues()) {
			for (SolrDocument solrDocument : group.getResult()) {
				Match match = new Match();
				String label = filter((String) solrDocument.get("autocomplete"));
				match.setLabel(label);
				match.setValue(label);
				matchMap.put((String) solrDocument.get("id"), match);
				results.add(match);
			}
		}
	}
	for(String documentId : matchMap.keySet()) {
		if(queryResponse.getHighlighting().containsKey(documentId)) {
			Map<String, List<String>> highlightedTerms = queryResponse.getHighlighting().get(documentId);
			if(highlightedTerms.containsKey("autocomplete")) {
				matchMap.get(documentId).setLabel(highlightedTerms.get("autocomplete").get(0));
			}
		}
	}

	return results;
}
 
开发者ID:RBGKew,项目名称:eMonocot,代码行数:62,代码来源:SearchableDaoImpl.java

示例7: beforeClass

import org.apache.solr.client.solrj.response.GroupCommand; //导入依赖的package包/类
@BeforeClass
public static void beforeClass() {
	
	// setup a doc list with 2 documents
	SolrDocumentList docs = new SolrDocumentList();
	SolrDocument doc1 = new SolrDocument();
	doc1.setField("uid", "urn:a:b:c");
	doc1.setField("domain", "test");
	doc1.setField("kind", "unit test case");
	doc1.setField("facility_name", "facility x");
	doc1.setField("summary", "foo bar baz");
	doc1.setField("foo", "bar");
	docs.add(doc1);
	
	SolrDocument doc2 = new SolrDocument();
	doc2.setField("uid", "urn:1:2:3");
	doc2.setField("domain", "test");
	doc2.setField("kind", "unit test case");
	doc2.setField("facility_name", "facility x");
	doc2.setField("summary", "foo bar baz");
	doc2.setField("datetime", "20140101");
	docs.add(doc2);
	
	// setup a group response where the 2 documents are grouped
	GroupResponse gresp = new GroupResponse();
	GroupCommand gcmd = new GroupCommand("kind", 2);
	gcmd.add(new Group("unit test case", docs));
	gresp.add(gcmd);
	
	// setup mock objects
	q = new SolrQuery();
	r = Mockito.mock(QueryResponse.class);
	rGroup = Mockito.mock(QueryResponse.class);
	Mockito.when(r.getResults()).thenReturn(docs);
	Mockito.when(r.getGroupResponse()).thenReturn(null);
	Mockito.when(rGroup.getResults()).thenReturn(docs);
	Mockito.when(rGroup.getGroupResponse()).thenReturn(gresp);
	
	// setup velocity engine
	ve = new VelocityEngine();
	ve.setProperty(VelocityEngine.RESOURCE_LOADER, "class");
	ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
	ve.init();
}
 
开发者ID:KRMAssociatesInc,项目名称:eHMP,代码行数:45,代码来源:SolrSearchActionTests.java

示例8: searchDocuments

import org.apache.solr.client.solrj.response.GroupCommand; //导入依赖的package包/类
@Override
public ResultsList<Document> searchDocuments(String term, int start, int rows, List<String> additionalFields,
		List<String> filters) throws SearchEngineException {
	ResultsList<Document> results;

	try {
		SolrQuery query = new SolrQuery(term);
		query.setStart(start);
		query.setRows(rows);
		query.setRequestHandler(config.getDocumentRequestHandler());
		List<String> queryFields = new ArrayList<>(DEFAULT_SEARCH_FIELDS);
		if (additionalFields != null) {
			queryFields.addAll(additionalFields);
		}
		if (filters != null) {
			query.addFilterQuery(filters.toArray(new String[filters.size()]));
		}
		query.setParam(DisMaxParams.QF, queryFields.toArray(new String[queryFields.size()]));
		
		LOGGER.debug("Query: {}", query);

		QueryResponse response = server.query(query);
		List<Document> docs;
		long total = 0;
		
		if (response.getGroupResponse() != null) {
			docs = new ArrayList<>(rows);
			GroupResponse gResponse = response.getGroupResponse();
			for (GroupCommand gCommand : gResponse.getValues()) {
				total += gCommand.getNGroups();
				for (Group group : gCommand.getValues()) {
					docs.addAll(server.getBinder().getBeans(Document.class, group.getResult()));
				}
			}
		} else if (response.getResults().getNumFound() == 0) {
			docs = new ArrayList<>();
		} else {
			docs = response.getBeans(Document.class);
			total = response.getResults().getNumFound();
		}
		
		results = new ResultsList<>(docs, start, (start / rows), total);
	} catch (SolrServerException | IOException e) {
		throw new SearchEngineException(e);
	}

	return results;
}
 
开发者ID:flaxsearch,项目名称:BioSolr,代码行数:49,代码来源:SolrDocumentSearch.java

示例9: searchDocuments

import org.apache.solr.client.solrj.response.GroupCommand; //导入依赖的package包/类
@Override
public ResultsList<Document> searchDocuments(String term, int start, int rows, List<String> additionalFields,
		List<String> filters, FacetStyle facetStyle) throws SearchEngineException {
	ResultsList<Document> results = null;

	try {
		SolrQuery query = new SolrQuery(term);
		query.setStart(start);
		query.setRows(rows);
		query.setRequestHandler(config.getDocumentRequestHandler());
		List<String> queryFields = new ArrayList<>(DEFAULT_SEARCH_FIELDS);
		if (additionalFields != null) {
			queryFields.addAll(additionalFields);
		}
		if (filters != null) {
			query.addFilterQuery(filters.toArray(new String[0]));
		}
		query.setParam(DisMaxParams.QF, queryFields.toArray(new String[queryFields.size()]));
		
		if (facetStyle == FacetStyle.NONE) {
			query.addFacetField(config.getFacetFields().toArray(new String[config.getFacetFields().size()]));
		} else {
			// Add the facet tree params
			query.setFacet(true);
			query.setParam("facet.tree", true);
			query.setParam("facet.tree.field", buildFacetTreeQueryParameter(facetStyle));
		}
		
		LOGGER.debug("Query: {}", query);

		QueryResponse response = server.query(query);
		List<Document> docs;
		long total = 0;
		
		if (response.getGroupResponse() != null) {
			docs = new ArrayList<>(rows);
			GroupResponse gResponse = response.getGroupResponse();
			for (GroupCommand gCommand : gResponse.getValues()) {
				total += gCommand.getNGroups();
				for (Group group : gCommand.getValues()) {
					docs.addAll(server.getBinder().getBeans(Document.class, group.getResult()));
				}
			}
		} else if (response.getResults().getNumFound() == 0) {
			docs = new ArrayList<>();
		} else {
			docs = response.getBeans(Document.class);
			total = response.getResults().getNumFound();
		}
		
		results = new ResultsList<>(docs, start, (start / rows), total, extractFacets(response, facetStyle));
	} catch (SolrServerException e) {
		throw new SearchEngineException(e);
	}

	return results;
}
 
开发者ID:flaxsearch,项目名称:BioSolr,代码行数:58,代码来源:SolrDocumentSearch.java


注:本文中的org.apache.solr.client.solrj.response.GroupCommand类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。