Add regexp/masked/unmasked to pqf.properties.
### truncation=regExpr-2 (5=103) in Zebra is "fuzzy matching"
relationModifier.stem = 2=101
relationModifier.phonetic = 2=100
+relationModifier.regexp = 5=102
+relationModifier.unmasked = 5=100
+relationModifier.masked =
# Non-standard extensions to provoke Zebra's inline sorting
relationModifier.sort = 7=1
return 0;
}
-
static void emit_term(cql_transform_t ct,
struct cql_node *cn,
const char *term, int length,
if (has_modifier(cn, "regexp"))
process_term = 0;
+ else if (has_modifier(cn, "unmasked"))
+ process_term = 0;
else if (cql_lookup_property(ct, "truncation", 0, "cql"))
{
process_term = 0;
assert(cn->which == CQL_NODE_ST);
if (process_term)
- {
+ { /* convert term via truncation.things */
unsigned anchor = 0;
unsigned trunc = 0;
for (i = 0; i < length; i++)
--- /dev/null
+Parsing CQL dc.title=/unmasked a*b
+@attr 6=1 @attr 2=3 @attr 4=1 @attr 1=4 @attr 5=100 "a*b"
--- /dev/null
+Parsing CQL dc.title=/masked a*b
+@attr 6=1 @attr 2=3 @attr 4=1 @attr 3=3 @attr 6=1 @attr 5=104 @attr 1=4 "a?b"
--- /dev/null
+Parsing CQL dc.title=/regexp a.*b
+@attr 6=1 @attr 2=3 @attr 4=1 @attr 1=4 @attr 5=102 "a.*b"
^a^
\\^
^a\\^
+# masking modifiers
+dc.title=/unmasked a*b
+dc.title=/masked a*b
+dc.title=/regexp a.*b