use of com.yahoo.prelude.query.Item in project vespa by vespa-engine.
the class Model method setUniqueIDs.
private List<Item> setUniqueIDs(Item root) {
List<Item> items = new ArrayList<>();
collectTaggableItems(root, items);
int id = 1;
for (Item i : items) {
TaggableItem t = (TaggableItem) i;
t.setUniqueID(id++);
}
return items;
}
use of com.yahoo.prelude.query.Item in project vespa by vespa-engine.
the class Model method addConnectivityRankProperties.
private void addConnectivityRankProperties(List<Item> connectedItems, Ranking ranking) {
for (Item link : connectedItems) {
TaggableItem t = (TaggableItem) link;
Item connectedTo = t.getConnectedItem();
if (connectedTo != null && strictContains(connectedTo, connectedItems)) {
TaggableItem t2 = (TaggableItem) connectedTo;
String name = "vespa.term." + t.getUniqueID() + ".connexity";
ranking.getProperties().put(name, String.valueOf(t2.getUniqueID()));
ranking.getProperties().put(name, String.valueOf(t.getConnectivity()));
}
}
}
use of com.yahoo.prelude.query.Item in project vespa by vespa-engine.
the class LegacyCombinator method addNotItems.
private void addNotItems(Language language, Query query, Set<QueryPart> pieces, IndexFacts.Session session, Execution.Context context) {
for (QueryPart part : pieces) {
if (part.operator != Combinator.EXCLUDED)
continue;
String defaultIndex = defaultIndex(session, part);
Item item = parse(language, query, part, defaultIndex, context);
if (item == null)
continue;
setDefaultIndex(part, defaultIndex, item);
addNotItem(query.getModel().getQueryTree(), item);
}
}
use of com.yahoo.prelude.query.Item in project vespa by vespa-engine.
the class LegacyCombinator method addAndItems.
private void addAndItems(Language language, Query query, Iterable<QueryPart> pieces, IndexFacts.Session session, Execution.Context context) {
for (QueryPart part : pieces) {
if (part.operator != Combinator.REQUIRED)
continue;
String defaultIndex = defaultIndex(session, part);
Item item = parse(language, query, part, defaultIndex, context);
if (item == null)
continue;
setDefaultIndex(part, defaultIndex, item);
addAndItem(query.getModel().getQueryTree(), item);
}
}
use of com.yahoo.prelude.query.Item in project vespa by vespa-engine.
the class LegacyCombinator method parse.
private Item parse(Language language, Query query, QueryPart part, String defaultIndex, Execution.Context context) {
Item item = null;
try {
CustomParser parser = (CustomParser) ParserFactory.newInstance(part.syntax, ParserEnvironment.fromExecutionContext(context));
item = parser.parse(part.query, null, language, query.getModel().getSources(), context.getIndexFacts(), defaultIndex);
} catch (RuntimeException e) {
String err = Exceptions.toMessageString(e);
query.trace("Query parser threw an exception: " + err, true, 1);
getLogger().log(LogLevel.WARNING, "Query parser threw exception in searcher LegacyCombinator for " + query.getHttpRequest().toString() + ", query part " + part.query + ": " + err);
}
return item;
}
Aggregations