Displaying 3 results from an estimated 3 matches for "notmuch_query_parser_flag".
Did you mean:
notmuch_query_parser_flags
2018 Sep 30
3
xapian parser bug?
On Sun, Sep 30, 2018 at 09:50:30AM +0100, James Aylett wrote:
> Note that I'm using 1.4.7, and from your output I believe you're not
> (the * in the query description I believe doesn't happen in those
> situations any more).
1.4.4 and later eliminate redundant 0 scaling factors, but this one
isn't actually redundant:
> > Query(((Tmail AND 0 * XSUBJECTnot at 1)
2018 Sep 30
1
xapian parser bug?
On Sun, Sep 30, 2018 at 09:05:25AM -0300, David Bremner wrote:
> if (str.find (' ') != std::string::npos)
> query_str = '"' + str + '"';
> else
> query_str = str;
>
> return parser.parse_query (query_str, NOTMUCH_QUERY_PARSER_FLAGS, term_prefix);
I wouldn't recommend trying to generate strings to feed to QueryParser
like this code seems to be doing. QueryParser aims to parse input from
humans not machines.
As well as the case where str is an operation name, the code above looks
like it will mishandle cases where str c...
2018 Sep 30
0
xapian parser bug?
...code (from
lib/regexp-fields.cc) is probably related (at least it explains
subject:" not" works)
if (str.find (' ') != std::string::npos)
query_str = '"' + str + '"';
else
query_str = str;
return parser.parse_query (query_str, NOTMUCH_QUERY_PARSER_FLAGS, term_prefix);
The motivation for not always triggering phrase processing is that it
breaks/disables wildcards. In particular this change was to fix the
query 'subject:foo*'. The difficulty here is that the field processor
doesn't know if its string argument was originally quoted.