@Override public Object get(CompoundName name,Map<String,String> context, com.yahoo.processing.request.Properties substitution) { return super.get(name, context == null ? requestMap : context, substitution); }
/** * Returns the list of page templates specified in the query, or the default if none, or the * empty list if no default, never null. */ private List<PageElement> selectPageTemplates(Query query) { // Determine the list of page template ids @SuppressWarnings("unchecked") List<String> pageIds = (List<String>) query.properties().get(pageIdListName); if (pageIds==null) { String pageIdString=query.properties().getString(pageIdName,"").trim(); if (pageIdString.length()>0) pageIds=Arrays.asList(pageIdString.split(" ")); } // If none set, just return the default or null if none if (pageIds==null) { PageElement defaultPage=templateRegistry.getComponent("default"); return (defaultPage==null ? Collections.<PageElement>emptyList() : Collections.singletonList(defaultPage)); } // Resolve the id list to page templates List<PageElement> pages=new ArrayList<>(pageIds.size()); for (String pageId : pageIds) { PageTemplate page=templateRegistry.getComponent(pageId); if (page==null) query.errors().add(ErrorMessage.createInvalidQueryParameter("Could not resolve requested page template '" + pageId + "'")); else pages.add(page); } return pages; }
Set<String> mentioned = new HashSet<>(); for (Map.Entry<String,String> requestProperty : requestProperties().entrySet() ) { Object resolvedValue = properties().get(requestProperty.getKey(), requestProperties()); if (resolvedValue == null && requestProperty.getKey().equals("queryProfile")) resolvedValue = requestProperty.getValue();
@Override public Result search(Query query, Execution execution) { if (query.properties().get(YQL) == null) { return execution.search(query);
@Override public Object get(CompoundName name, Map<String,String> context, com.yahoo.processing.request.Properties substitution) { if ( ! properties.containsKey(name)) return super.get(name,context,substitution); return properties.get(name); }
@Override public Object get(CompoundName name,Map<String,String> context, com.yahoo.processing.request.Properties substitution) { return super.get(unalias(name),context,substitution); }
public static boolean hasGroupingList(Query query) { Object obj = query.properties().get(PROP_GROUPINGLIST); return (obj instanceof List); }
/** Returns the intent model stored at property key "intentModel" in this query, or null if none */ public static IntentModel getFrom(Query query) { return (IntentModel)query.properties().get(intentModelObjectName); }
public static Model getFrom(Query q) { return (Model)q.properties().get(argumentTypeName); }
/** * Returns the list of {@link Grouping} objects assigned to the given query. If no list has been assigned, this * method returns an empty list. * * @param query The query whose grouping list to return. * @return The list of assigned grouping objects. */ @SuppressWarnings({ "unchecked" }) public static List<Grouping> getGroupingList(Query query) { Object obj = query.properties().get(PROP_GROUPINGLIST); if (!(obj instanceof List)) { return Collections.emptyList(); } return (List<Grouping>)obj; }
public static Ranking getFrom(Query q) { return (Ranking) q.properties().get(argumentTypeName); }
@Override public Object get(CompoundName key, Map<String,String> context, com.yahoo.processing.request.Properties substitution) { if(key == null) return null; Object result = parent.get(getPathPrefix() + "." + key,context,substitution); if(result == null) { return super.get(key,context,substitution); } else { return result; } }
@Override public Object get(CompoundName name, Map<String, String> context, com.yahoo.processing.request.Properties substitution) { if (MAX_OFFSET.equals(name)) { return 1000; } else if (MAX_HITS.equals(name)) { return 400; } else { return super.get(name, context, substitution); } }
/** * Retrieve metadata passed by previous rewriter * from query properties * Initialize values if this is the first rewriter * * @param query Query object from the searcher * @return hashmap containing the metadata */ public static HashMap<String, Object> getRewriteMeta(Query query) { log(utilsLogger, query, "Retrieving metadata passed by previous rewriter"); @SuppressWarnings("unchecked") HashMap<String, Object> rewriteMeta = (HashMap<String, Object>) query .properties().get(RewriterConstants.REWRITE_META); if(rewriteMeta==null) { log(utilsLogger, query, "No metadata available from previous rewriter"); rewriteMeta = new HashMap<>(); rewriteMeta.put(RewriterConstants.REWRITTEN, false); rewriteMeta.put(RewriterConstants.DICT_KEY, getNormalizedOriginalQuery(query)); } else { if((Boolean)rewriteMeta.get(RewriterConstants.REWRITTEN)) { log(utilsLogger, query, "Query has been rewritten by previous rewriters"); } else { log(utilsLogger, query, "Query has not been rewritten by previous rewriters"); } log(utilsLogger, query, "Dict key passed by previous rewriter: " + rewriteMeta.get(RewriterConstants.DICT_KEY)); } return rewriteMeta; }
private Object getProperty(Query query, CompoundKey key) { CompoundName name = map.get(key); if (name == null) { name = new CompoundName(key.toString()); map.put(key, name); } return query.properties().get(name); }
@Override public Result search(Query query, Execution execution) { Object tensorProperty = query.properties().get("tensor"); if (tensorProperty != null) { // Construct a Tensor object based on the query parameter Tensor tensor = Tensor.from(tensorProperty.toString()); // Create a new rank feature using this tensor query.getRanking().getFeatures().put("query(tensor)", tensor); // Set the rank profile to use query.properties().set(new CompoundName("ranking"), "simple_tensor_ranking"); } return execution.search(query); }
/** Gets a value from the query profile, or from the nested profile if the value is null */ @Override public Object get(CompoundName name, Map<String,String> context, com.yahoo.processing.request.Properties substitution) { name = unalias(name, context); Object value = null; if (values != null) value = values.get(name); if (value == null) { Pair<CompoundName, CompiledQueryProfile> reference = findReference(name); if (reference != null) return reference.getSecond().get(name.rest(reference.getFirst().size()), context, substitution); // yes; even if null } if (value == null) value = profile.get(name, context, substitution); if (value == null) value = super.get(name, context, substitution); return value; }
Object value = originalProperties.get(fullName, context); if (value != null) { try {
public Result search(Query query, Execution execution) { // Get tensor and read items from user profile Object userIdProperty = query.properties().get("user_id"); if (userIdProperty != null) { Hit userProfile = retrieveUserProfile(userIdProperty.toString(), execution); if (userProfile != null) { addUserProfileTensorToQuery(query, userProfile); NotItem notItem = new NotItem(); notItem.addItem(new IntItem(1, "has_user_item_cf")); for (String item : getReadItems(userProfile.getField("has_read_items"))){ notItem.addItem(new WordItem(item, "post_id")); } QueryTreeUtil.andQueryItemWithRoot(query, notItem); } } // Restrict to search in blog_posts query.getModel().setRestrict("blog_post"); // Rank blog posts using tensor rank profile if(query.properties().get("ranking") == null) { query.properties().set(new CompoundName("ranking"), "tensor"); } return execution.search(query); }
return super.get(key, context, substitution);