splitString filename queries
This commit is contained in:
parent
e1584c2e21
commit
65d9ae06dc
@ -1,5 +1,5 @@
|
|||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char rcsid[] = "@(#$Id: searchdata.cpp,v 1.19 2007-10-04 12:26:04 dockes Exp $ (C) 2006 J.F.Dockes";
|
static char rcsid[] = "@(#$Id: searchdata.cpp,v 1.20 2008-01-16 08:43:26 dockes Exp $ (C) 2006 J.F.Dockes";
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -544,8 +544,15 @@ bool SearchDataClauseFilename::toNativeQuery(Rcl::Db &db, void *p,
|
|||||||
Xapian::Query *qp = (Xapian::Query *)p;
|
Xapian::Query *qp = (Xapian::Query *)p;
|
||||||
*qp = Xapian::Query();
|
*qp = Xapian::Query();
|
||||||
|
|
||||||
|
list<string> patterns;
|
||||||
|
stringToStrings(m_text, patterns);
|
||||||
list<string> names;
|
list<string> names;
|
||||||
db.filenameWildExp(m_text, names);
|
for (list<string>::iterator it = patterns.begin();
|
||||||
|
it != patterns.end(); it++) {
|
||||||
|
// This relies on filenameWildExp not resetting and always
|
||||||
|
// adding to the input
|
||||||
|
db.filenameWildExp(*it, names);
|
||||||
|
}
|
||||||
// Build a query out of the matching file name terms.
|
// Build a query out of the matching file name terms.
|
||||||
*qp = Xapian::Query(Xapian::Query::OP_OR, names.begin(), names.end());
|
*qp = Xapian::Query(Xapian::Query::OP_OR, names.begin(), names.end());
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user