private Result cacheLookupFirstPhase(CacheKey key, QueryPacketData queryPacketData, Query query, int offset, int hits, String summaryClass) { PacketWrapper packetWrapper = cacheControl.lookup(key, query); if (packetWrapper == null) return null; // Check if the cache entry contains the requested hits List<DocumentInfo> documents = packetWrapper.getDocuments(offset, hits); if (documents == null) return null; if (query.getPresentation().getSummary() == null) query.getPresentation().setSummary(getDefaultDocsumClass()); Result result = new Result(query); QueryResultPacket resultPacket = packetWrapper.getFirstResultPacket(); addMetaInfo(query, queryPacketData, resultPacket, result); if (packetWrapper.getNumPackets() == 0) addUnfilledHits(result, documents, true, queryPacketData, key, packetWrapper.distributionKey()); else addCachedHits(result, packetWrapper, summaryClass, documents); return result; }
query.getPresentation().setBolding(asBoolean(value, true)); else if (key.last().equals(Presentation.SUMMARY)) query.getPresentation().setSummary(asString(value, "")); else if (key.last().equals(Presentation.FORMAT)) query.getPresentation().setFormat(asString(value,""));
query.getPresentation().setSummary(searcher.getDefaultDocsumClass());
/** Used from container SDK, for internal use only */ public Result searchAndFill(Query query, Chain<? extends Searcher> searchChain, SearchChainRegistry registry) { Result errorResult = validateQuery(query); if (errorResult != null) return errorResult; Renderer<Result> renderer = rendererRegistry.getRenderer(query.getPresentation().getRenderer()); // docsumClass null means "unset", so we set it (it might be null // here too in which case it will still be "unset" after we set it :-) if (query.getPresentation().getSummary() == null && renderer instanceof com.yahoo.search.rendering.Renderer) query.getPresentation().setSummary(((com.yahoo.search.rendering.Renderer) renderer).getDefaultSummaryClass()); Execution execution = new Execution(searchChain, new Execution.Context(registry, indexFacts, specialTokens, rendererRegistry, linguistics)); query.getModel().setExecution(execution); execution.trace().setForceTimestamps(query.properties().getBoolean(FORCE_TIMESTAMPS, false)); if (query.properties().getBoolean(DETAILED_TIMING_LOGGING, false)) { // check and set (instead of set directly) to avoid overwriting stuff from prepareForBreakdownAnalysis() execution.context().setDetailedDiagnostics(true); } Result result = execution.search(query); ensureQuerySet(result, query); execution.fill(result, result.getQuery().getPresentation().getSummary()); traceExecutionTimes(query, result); traceVespaVersion(query); traceRequestAttributes(query); return result; }
"doSearch2(): No summary class specified in query, using default: ", getDefaultDocsumClass()); query.getPresentation().setSummary(getDefaultDocsumClass()); } else { lazyTrace(query, 6,