本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}