Additional classes
When it interacts with the Expert Advice code, the wrapper
code can refer to two classes, QueryLevel
and ItemSet
.
QueryLevel
The app generates
a series of queries that are based on the set of columns that the
user specifies. The precision of the queries varies and the queries
are ordered to reflect the precision of the results. The order is
such that a query at a higher-level yields more accurate results that
a lower-level query. The QueryLevel
class captures
the ordering of the queries. Some queries can yield results with the
same level of precision without yielding the same results. The QueryLevel
class
can contain more than one query for this reason.
package foo.bar.example.loganalytics.artifacts;
public class QueryLevel<T> extends ArrayList<ItemSet<T>>
Each ItemSet
object
that is contained in a QueryLevel
object represents
a group of terms that must all occur on the same page. You must use
an AND query for these terms.
ItemSet
object
in a QueryLevel
object, you must use an OR query
to separate the individual AND queries. For example:(ItemSet_1_Term_1 AND ItemSet_1_Term_2) OR (ItemSet_2_Term_1 AND ItemSet_2_Term_2)
The syntax that specifies the AND and OR logic is specific to the knowledge source and is handled by the wrapper code.
ItemSet
The ItemSet
class
represents a single group of terms that must all occur in the same
results page. You must use an AND query for this class.
package foo.bar.example.loganalytics.partialorder;
public class ItemSet<T> extends HashSet<T>