Index: queryparsertest.cc =================================================================== --- queryparsertest.cc (revision 8676) +++ queryparsertest.cc (working copy) @@ -532,6 +532,22 @@ { "- NEAR 12V voeding", "(near:(pos=1) OR 12v:(pos=2) OR Zvoed:(pos=3))" }, { "waarom \"~\" in directorynaam", "(Zwaarom:(pos=1) OR Zin:(pos=2) OR Zdirectorynaam:(pos=3))" }, { "cd'r NEAR toebehoren", "(cd'r:(pos=1) NEAR 11 toebehoren:(pos=2))" }, + { "site:1 site:2", "(H1 OR H2)" }, + { "site:1 site2:2", "(H1 AND J2)" }, + { "site:1 site:2 site2:2", "((H1 OR H2) AND J2)" }, + { "site:1 OR site:2", "(H1 OR H2)" }, + { "site:1 AND site:2", "(H1 AND H2)" }, + { "A site:1 site:2", "(a FILTER (H1 OR H2))" }, + { "A (site:1 OR site:2)", "(a FILTER (H1 OR H2))" }, + { "A (site:1 OR site:2)", "(a FILTER (H1 OR H2))" }, + { "A site:1 site2:2", "(a FILTER (H1 AND J2))" }, + { "A site:1 site:2 site2:2", "(a FILTER ((H1 OR H2) AND J2))" }, + { "A site:1 OR site:2", "(a FILTER (H1 OR H2))" }, + { "A site:1 AND site:2", "(a FILTER (H1 AND H2))" }, + { "site:xapian.org OR site:www.xapian.org", "(xapian.org OR Hwww.xapian.org)" }, + { "site:xapian.org site:www.xapian.org", "(xapian.org OR Hwww.xapian.org)" }, + { "site:xapian.org AND site:www.xapian.org", "(xapian.org OR Hwww.xapian.org)" }, + { "Xapian site:xapian.org site:www.xapian.org", "xapian FILTER (Hxapian.org OR Hwww.xapian.org)" }, { NULL, NULL } }; @@ -576,6 +592,7 @@ queryparser.add_prefix("title", "XT"); queryparser.add_prefix("subject", "XT"); queryparser.add_boolean_prefix("site", "H"); + queryparser.add_boolean_prefix("site2", "J"); for (test *p = test_or_queries; p->query; ++p) { string expect, parsed; if (p->expect)