1
0
mirror of https://github.com/djcb/mu.git synced 2024-06-26 07:29:17 +02:00

* try harder to match special strings

This commit is contained in:
djcb 2013-05-29 07:33:17 -07:00
parent a7f71798e4
commit b136ca0411
3 changed files with 8 additions and 6 deletions

View File

@ -91,8 +91,6 @@ private:
} else } else
return false; return false;
} }
}; };
@ -229,8 +227,8 @@ get_query (MuQuery *mqx, const char* searchexpr, GError **err)
(preprocessed, (preprocessed,
Xapian::QueryParser::FLAG_BOOLEAN | Xapian::QueryParser::FLAG_BOOLEAN |
Xapian::QueryParser::FLAG_PURE_NOT | Xapian::QueryParser::FLAG_PURE_NOT |
Xapian::QueryParser::FLAG_WILDCARD |
Xapian::QueryParser::FLAG_AUTO_SYNONYMS | Xapian::QueryParser::FLAG_AUTO_SYNONYMS |
Xapian::QueryParser::FLAG_WILDCARD |
Xapian::QueryParser::FLAG_BOOLEAN_ANY_CASE Xapian::QueryParser::FLAG_BOOLEAN_ANY_CASE
); );
g_free (preprocessed); g_free (preprocessed);
@ -269,8 +267,8 @@ add_prefix (MuMsgFieldId mfid, Xapian::QueryParser* qparser)
qparser->add_prefix (shortcut, pfx); qparser->add_prefix (shortcut, pfx);
} }
// all fiels are also matched implicitly, withouth // all fields are also matched implicitly, without
// an // any prefix
qparser->add_prefix ("", pfx); qparser->add_prefix ("", pfx);
} MU_XAPIAN_CATCH_BLOCK; } MU_XAPIAN_CATCH_BLOCK;

View File

@ -318,7 +318,10 @@ add_terms_values_str (Xapian::Document& doc, const char *val, MuMsgFieldId mfid)
if (mu_msg_field_xapian_index (mfid)) { if (mu_msg_field_xapian_index (mfid)) {
Xapian::TermGenerator termgen; Xapian::TermGenerator termgen;
termgen.set_document (doc); termgen.set_document (doc);
termgen.index_text_without_positions (val, 1, prefix(mfid)); termgen.index_text_without_positions (str, 1, prefix(mfid));
if (g_strcmp0 (val, str) != 0)
termgen.index_text_without_positions (val, 1, prefix(mfid));
// g_print ("%s --> '%s' (%s)\n", mu_msg_field_name (mfid), val, str);
} }
// g_print ("%s --> '%s'\n", mu_msg_field_name (mfid), str); // g_print ("%s --> '%s'\n", mu_msg_field_name (mfid), str);

View File

@ -475,6 +475,7 @@ handle_esc_maybe (GString *gstr, char **cur, gunichar uc,
case '(': case '(':
case ')': case ')':
case '*': case '*':
case '&':
case '"': case '"':
g_string_append_c (gstr, kar); g_string_append_c (gstr, kar);
return TRUE; return TRUE;