public class QueryParserUtils
extends java.lang.Object
Query of the form @{code ?q=
TODO: Use Lucene's query parsing?... Make this lots lots better...
Constructor and Description |
---|
QueryParserUtils() |
Modifier and Type | Method and Description |
---|---|
static boolean |
checkRangeQuery(boolean inclusive,
java.lang.String field,
java.lang.String query,
java.lang.String value,
DataSchema dataSchema)
Method to handle ranges queries
|
static boolean |
checkRecord(java.lang.String uriQuery,
java.util.Map<java.lang.String,java.lang.Object> doc,
DataSchema dataSchema) |
static boolean |
checkRecord(java.lang.String uriQuery,
org.apache.hadoop.io.MapWritable doc,
DataSchema dataSchema)
Given a URI query string, checks to see if the given document satisfies the query
|
static boolean |
checkRecordWritableArrayWritable(java.lang.String uriQuery,
org.apache.hadoop.io.MapWritable doc,
DataSchema dataSchema) |
static java.lang.String |
wildcardToRegex(java.lang.String wildcard)
Method to convert a URI wildcard query into a java regex
|
public static boolean checkRecord(java.lang.String uriQuery, org.apache.hadoop.io.MapWritable doc, DataSchema dataSchema)
...Very hacky...
NOTE: Assumes that MapWritable keys are Text objects and values are Text or TextArrayWritable objects
NOTE: Support for list fields (values) is provided for checkRecord with Map
NOTE: @ symbol represents flag ignore case sensitivity used after field (e.g. user_agent@:*searchparam*)
NOTE: Assumes that all AND booleans come before any OR booleans - ADD @ case sensitivity support for range queries
public static boolean checkRecord(java.lang.String uriQuery, java.util.Map<java.lang.String,java.lang.Object> doc, DataSchema dataSchema)
public static boolean checkRecordWritableArrayWritable(java.lang.String uriQuery, org.apache.hadoop.io.MapWritable doc, DataSchema dataSchema)
public static boolean checkRangeQuery(boolean inclusive, java.lang.String field, java.lang.String query, java.lang.String value, DataSchema dataSchema)
public static java.lang.String wildcardToRegex(java.lang.String wildcard)