public class QueryRewrite extends Object
Modifier and Type | Class and Description |
---|---|
private static class |
QueryRewrite.Recall |
Constructor and Description |
---|
QueryRewrite() |
Modifier and Type | Method and Description |
---|---|
private static Item |
collapseSingleComposites(Item item) |
static void |
collapseSingleComposites(Query query)
Collapses all single-child
CompositeItem s into their parent item. |
private static CompositeItem |
extractAndNot(AndItem parent) |
private static CompositeItem |
extractAndNotRecursively(CompositeItem parent) |
private static Item |
optimizeAndNot(Item node) |
static void |
optimizeAndNot(Query query)
Optimize multiple NotItems under and or by collapsing them in to one and leaving
the positive ones behind in its place and moving itself with the original and as its positive item
and the union of all the negative items of all the original NotItems as its negative items.
|
private static QueryRewrite.Recall |
optimizeByRestrict(Item item,
String restrictParam) |
static void |
optimizeByRestrict(Query query)
Optimizes the given query tree based on its
Model.getRestrict() parameter, if any. |
private static QueryRewrite.Recall |
optimizeCompositeItemByRestrict(CompositeItem item,
String restrictParam) |
private static QueryRewrite.Recall |
optimizeIndexedItemByRestrict(SimpleIndexedItem item,
String restrictParam) |
private static QueryRewrite.Recall |
optimizeNotItemByRestrict(NotItem item,
String restrictParam) |
private static void |
retainChild(CompositeItem item,
int childIdx) |
private static Item |
rewriteSddocname(Item item) |
static void |
rewriteSddocname(Query query)
Replaces and
SimpleIndexedItem searching in the Hit.SDDOCNAME_FIELD with an item
appropriate for the search node. |
public static void optimizeAndNot(Query query)
query
- to optimizeprivate static CompositeItem extractAndNotRecursively(CompositeItem parent)
private static CompositeItem extractAndNot(AndItem parent)
public static void optimizeByRestrict(Query query)
Model.getRestrict()
parameter, if any.query
- to optimize.private static QueryRewrite.Recall optimizeByRestrict(Item item, String restrictParam)
private static QueryRewrite.Recall optimizeIndexedItemByRestrict(SimpleIndexedItem item, String restrictParam)
private static QueryRewrite.Recall optimizeNotItemByRestrict(NotItem item, String restrictParam)
private static QueryRewrite.Recall optimizeCompositeItemByRestrict(CompositeItem item, String restrictParam)
private static void retainChild(CompositeItem item, int childIdx)
public static void collapseSingleComposites(Query query)
CompositeItem
s into their parent item.query
- The query whose composites to collapse.public static void rewriteSddocname(Query query)
SimpleIndexedItem
searching in the Hit.SDDOCNAME_FIELD
with an item
appropriate for the search node.query
- The query to rewrite.Copyright © 2017. All rights reserved.