|
a/src/rcldb/searchdata.cpp |
|
b/src/rcldb/searchdata.cpp |
1 |
#ifndef lint
|
1 |
#ifndef lint
|
2 |
static char rcsid[] = "@(#$Id: searchdata.cpp,v 1.26 2008-10-14 07:50:13 dockes Exp $ (C) 2006 J.F.Dockes";
|
2 |
static char rcsid[] = "@(#$Id: searchdata.cpp,v 1.27 2008-12-05 11:09:31 dockes Exp $ (C) 2006 J.F.Dockes";
|
3 |
#endif
|
3 |
#endif
|
4 |
/*
|
4 |
/*
|
5 |
* This program is free software; you can redistribute it and/or modify
|
5 |
* This program is free software; you can redistribute it and/or modify
|
6 |
* it under the terms of the GNU General Public License as published by
|
6 |
* it under the terms of the GNU General Public License as published by
|
7 |
* the Free Software Foundation; either version 2 of the License, or
|
7 |
* the Free Software Foundation; either version 2 of the License, or
|
|
... |
|
... |
378 |
// word1 word2 "this is a phrase". The text splitter may still
|
378 |
// word1 word2 "this is a phrase". The text splitter may still
|
379 |
// decide that the resulting "words" are really phrases, this
|
379 |
// decide that the resulting "words" are really phrases, this
|
380 |
// depends on separators: [paul@dom.net] would still be a word
|
380 |
// depends on separators: [paul@dom.net] would still be a word
|
381 |
// (span), but [about:me] will probably be handled as a phrase.
|
381 |
// (span), but [about:me] will probably be handled as a phrase.
|
382 |
list<string> phrases;
|
382 |
list<string> phrases;
|
383 |
stringToStrings(iq, phrases);
|
383 |
TextSplit::stringToStrings(iq, phrases);
|
384 |
|
384 |
|
385 |
// Process each element: textsplit into terms, handle stem/wildcard
|
385 |
// Process each element: textsplit into terms, handle stem/wildcard
|
386 |
// expansion and transform into an appropriate Xapian::Query
|
386 |
// expansion and transform into an appropriate Xapian::Query
|
387 |
try {
|
387 |
try {
|
388 |
for (list<string>::iterator it = phrases.begin();
|
388 |
for (list<string>::iterator it = phrases.begin();
|
|
... |
|
... |
566 |
{
|
566 |
{
|
567 |
Xapian::Query *qp = (Xapian::Query *)p;
|
567 |
Xapian::Query *qp = (Xapian::Query *)p;
|
568 |
*qp = Xapian::Query();
|
568 |
*qp = Xapian::Query();
|
569 |
|
569 |
|
570 |
list<string> patterns;
|
570 |
list<string> patterns;
|
571 |
stringToStrings(m_text, patterns);
|
571 |
TextSplit::stringToStrings(m_text, patterns);
|
572 |
list<string> names;
|
572 |
list<string> names;
|
573 |
for (list<string>::iterator it = patterns.begin();
|
573 |
for (list<string>::iterator it = patterns.begin();
|
574 |
it != patterns.end(); it++) {
|
574 |
it != patterns.end(); it++) {
|
575 |
list<string> more;
|
575 |
list<string> more;
|
576 |
db.filenameWildExp(*it, more);
|
576 |
db.filenameWildExp(*it, more);
|