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


Java GroupCommand.getValues方法代码示例

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


在下文中一共展示了GroupCommand.getValues方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: 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

示例3: 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

示例4: 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

示例5: 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

示例6: 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.getValues方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。