* mu-query: transfer queries to lowercase; this fixes some false-negatives
This commit is contained in:
@ -174,20 +174,30 @@ mu_query_destroy (MuQuery *self)
|
|||||||
|
|
||||||
MuMsgIter*
|
MuMsgIter*
|
||||||
mu_query_run (MuQuery *self, const char* searchexpr,
|
mu_query_run (MuQuery *self, const char* searchexpr,
|
||||||
const MuMsgField* sortfield, gboolean ascending,
|
const MuMsgField* sortfield, gboolean ascending,
|
||||||
size_t batchsize)
|
size_t batchsize)
|
||||||
{
|
{
|
||||||
g_return_val_if_fail (self, NULL);
|
g_return_val_if_fail (self, NULL);
|
||||||
g_return_val_if_fail (searchexpr, NULL);
|
g_return_val_if_fail (searchexpr, NULL);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
char *lower_expr;
|
||||||
|
|
||||||
int err (0);
|
int err (0);
|
||||||
|
|
||||||
Xapian::Query q(get_query(self, searchexpr, &err));
|
/* translate the the searchexpr to all lowercase; this
|
||||||
|
* fill fixes some of the false-negatives. A full fix
|
||||||
|
* probably require some custom query parser.
|
||||||
|
*/
|
||||||
|
lower_expr = g_utf8_strdown (searchexpr, -1);
|
||||||
|
|
||||||
|
Xapian::Query q(get_query(self, lower_expr, &err));
|
||||||
if (err) {
|
if (err) {
|
||||||
g_warning ("Error in query '%s'", searchexpr);
|
g_warning ("Error in query '%s'", lower_expr);
|
||||||
|
g_free (lower_expr);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
g_free (lower_expr);
|
||||||
|
|
||||||
Xapian::Enquire enq (*self->_db);
|
Xapian::Enquire enq (*self->_db);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user