26 #define XAPIAN_DEPRECATED(D) D
48 {
"simple-example",
"(simple@1 PHRASE 2 example@2)" },
49 {
"time_t",
"Ztime_t@1" },
50 {
"stock -cooking",
"(Zstock@1 AND_NOT Zcook@2)" },
51 {
"foo -baz bar",
"((Zfoo@1 OR Zbar@3) AND_NOT Zbaz@2)" },
52 {
"d- school report",
"(Zd@1 OR (Zschool@2 OR Zreport@3))" },
53 {
"gtk+ -gnome",
"(Zgtk+@1 AND_NOT Zgnome@2)" },
54 {
"c++ -d--",
"(Zc++@1 AND_NOT Zd@2)" },
55 {
"Mg2+ Cl-",
"(mg2+@1 OR cl@2)" },
56 {
"\"c++ library\"",
"(c++@1 PHRASE 2 library@2)" },
57 {
"A&L A&RMCO AD&D",
"(a&l@1 OR a&rmco@2 OR ad&d@3)" },
58 {
"C# vs C++",
"(c#@1 OR Zvs@2 OR c++@3)" },
60 {
"a#b",
"(Za@1 OR Zb@2)" },
61 {
"O.K. U.N.C.L.E XY.Z.",
"(ok@1 OR uncle@2 OR (xy@3 PHRASE 2 z@4))" },
62 {
"author:orwell animal farm",
"(ZAorwel@1 OR Zanim@2 OR Zfarm@3)" },
63 {
"author:Orwell Animal Farm",
"(Aorwell@1 OR animal@2 OR farm@3)" },
65 {
"author:\"orwell\" title:\"animal\"",
"(Aorwell@1 OR XTanimal@2)" },
67 {
"author:(orwell) title:(animal)",
"(ZAorwel@1 OR ZXTanim@2)" },
69 {
"author:\"milne, a.a.\"",
"(Amilne@1 PHRASE 3 Aa@2 PHRASE 3 Aa@3)" },
70 {
"author:\"milne a.a.\"",
"(Amilne@1 PHRASE 3 Aa@2 PHRASE 3 Aa@3)" },
72 {
"site:/path/name",
"0 * H/path/name" },
74 {
"author:/path/name",
"(Apath@1 PHRASE 2 Aname@2)" },
76 {
"author:/path",
"ZApath@1" },
77 {
"author:-Foo",
"Afoo@1" },
78 {
"author:/",
"Zauthor@1" },
79 {
"author::",
"Zauthor@1" },
80 {
"author:/ foo",
"(Zauthor@1 OR Zfoo@2)" },
81 {
"author:: foo",
"(Zauthor@1 OR Zfoo@2)" },
82 {
"author::foo",
"(author@1 PHRASE 2 foo@2)" },
83 {
"author:/ AND foo",
"(Zauthor@1 AND Zfoo@2)" },
84 {
"author:: AND foo",
"(Zauthor@1 AND Zfoo@2)" },
85 {
"foo AND author:/",
"(Zfoo@1 AND Zauthor@2)" },
86 {
"foo AND author::",
"(Zfoo@1 AND Zauthor@2)" },
88 {
"author:(title::case)",
"(Atitle@1 PHRASE 2 Acase@2)" },
91 {
"\"hello world\" +python",
"(Zpython@3 AND_MAYBE (hello@1 PHRASE 2 world@2))" },
93 {
"\xd8\xa7\xd9\x84\xd8\xb1\xd9\x91\xd8\xad\xd9\x85\xd9\x86",
"Z\xd8\xa7\xd9\x84\xd8\xb1\xd9\x91\xd8\xad\xd9\x85\xd9\x86@1" },
96 {
"\xe1\x80\x9d\xe1\x80\xae\xe1\x80\x80\xe1\x80\xae\xe1\x80\x95\xe1\x80\xad\xe1\x80\x9e\xe1\x80\xaf\xe1\x80\xb6\xe1\x80\xb8\xe1\x80\x85\xe1\x80\xbd\xe1\x80\xb2\xe1\x80\x9e\xe1\x80\xb0\xe1\x80\x99\xe1\x80\xbb\xe1\x80\xac\xe1\x80\xb8\xe1\x80\x80",
"Z\xe1\x80\x9d\xe1\x80\xae\xe1\x80\x80\xe1\x80\xae\xe1\x80\x95\xe1\x80\xad\xe1\x80\x9e\xe1\x80\xaf\xe1\x80\xb6\xe1\x80\xb8\xe1\x80\x85\xe1\x80\xbd\xe1\x80\xb2\xe1\x80\x9e\xe1\x80\xb0\xe1\x80\x99\xe1\x80\xbb\xe1\x80\xac\xe1\x80\xb8\xe1\x80\x80@1" },
97 {
"unmatched\"",
"unmatched@1" },
98 {
"unmatched \" \" ",
"Zunmatch@1" },
99 {
"hyphen-ated\" ",
"(hyphen@1 PHRASE 2 ated@2)" },
100 {
"hyphen-ated\" \"",
"(hyphen@1 PHRASE 2 ated@2)" },
101 {
"\"1.4\"",
"1.4@1" },
103 {
"\"A#.B.\"",
"(a#@1 PHRASE 2 b@2)" },
104 {
"\" Xapian QueryParser\" parses queries",
"((xapian@1 PHRASE 2 queryparser@2) OR (Zpars@3 OR Zqueri@4))" },
105 {
"\" xapian queryParser\" parses queries",
"((xapian@1 PHRASE 2 queryparser@2) OR (Zpars@3 OR Zqueri@4))" },
106 {
"h\xc3\xb6hle",
"Zh\xc3\xb6hle@1" },
107 {
"one +two three",
"(Ztwo@2 AND_MAYBE (Zone@1 OR Zthree@3))" },
108 {
"subject:test other",
"(ZXTtest@1 OR Zother@2)" },
109 {
"subject:\"space flight\"",
"(XTspace@1 PHRASE 2 XTflight@2)" },
110 {
"author:(twain OR poe) OR flight",
"(ZAtwain@1 OR ZApoe@2 OR Zflight@3)" },
111 {
"author:(twain OR title:pit OR poe)",
"(ZAtwain@1 OR ZXTpit@2 OR ZApoe@3)" },
112 {
"title:2001 title:space",
"(XT2001@1 OR ZXTspace@2)" },
113 {
"(title:help)",
"ZXThelp@1" },
114 {
"beer NOT \"orange juice\"",
"(Zbeer@1 AND_NOT (orange@2 PHRASE 2 juice@3))" },
115 {
"beer AND NOT lager",
"(Zbeer@1 AND_NOT Zlager@2)" },
116 {
"beer AND -lager",
"(Zbeer@1 AND_NOT Zlager@2)" },
117 {
"beer AND +lager",
"(Zbeer@1 AND Zlager@2)" },
118 {
"A OR B NOT C",
"(a@1 OR (b@2 AND_NOT c@3))" },
119 {
"A OR B AND NOT C",
"(a@1 OR (b@2 AND_NOT c@3))" },
120 {
"A OR B AND -C",
"(a@1 OR (b@2 AND_NOT c@3))" },
121 {
"A OR B AND +C",
"(a@1 OR (b@2 AND c@3))" },
122 {
"A OR B XOR C",
"(a@1 OR (b@2 XOR c@3))" },
123 {
"A XOR B NOT C",
"(a@1 XOR (b@2 AND_NOT c@3))" },
124 {
"one AND two",
"(Zone@1 AND Ztwo@2)" },
125 {
"one A.N.D. two",
"(Zone@1 OR and@2 OR Ztwo@3)" },
126 {
"one \xc3\x81ND two",
"(Zone@1 OR \xc3\xa1nd@2 OR Ztwo@3)" },
127 {
"one author:AND two",
"(Zone@1 OR Aand@2 OR Ztwo@3)" },
128 {
"author:hyphen-ated",
"(Ahyphen@1 PHRASE 2 Aated@2)" },
129 {
"cvs site:xapian.org",
"(Zcvs@1 FILTER Hxapian.org)" },
130 {
"cvs -site:xapian.org",
"(Zcvs@1 AND_NOT Hxapian.org)" },
131 {
"foo -site:xapian.org bar",
"((Zfoo@1 OR Zbar@2) AND_NOT Hxapian.org)" },
132 {
"site:xapian.org mail",
"(Zmail@1 FILTER Hxapian.org)" },
133 {
"-site:xapian.org mail",
"(Zmail@1 AND_NOT Hxapian.org)" },
134 {
"mail AND -site:xapian.org",
"(Zmail@1 AND_NOT Hxapian.org)" },
135 {
"-Wredundant-decls",
"(wredundant@1 PHRASE 2 decls@2)" },
136 {
"site:xapian.org",
"0 * Hxapian.org" },
137 {
"mug +site:xapian.org -site:cvs.xapian.org",
"((Zmug@1 FILTER Hxapian.org) AND_NOT Hcvs.xapian.org)" },
138 {
"mug -site:cvs.xapian.org +site:xapian.org",
"((Zmug@1 FILTER Hxapian.org) AND_NOT Hcvs.xapian.org)" },
139 {
"mug +site:xapian.org AND -site:cvs.xapian.org",
"((Zmug@1 FILTER Hxapian.org) AND_NOT Hcvs.xapian.org)" },
140 {
"mug site:xapian.org AND -site:cvs.xapian.org",
"((Zmug@1 FILTER Hxapian.org) AND_NOT Hcvs.xapian.org)" },
141 {
"mug site:xapian.org AND +site:cvs.xapian.org",
"((Zmug@1 FILTER Hxapian.org) AND 0 * Hcvs.xapian.org)" },
142 {
"NOT windows",
"Syntax: <expression> NOT <expression>" },
143 {
"a AND (NOT b)",
"Syntax: <expression> NOT <expression>" },
144 {
"AND NOT windows",
"Syntax: <expression> AND NOT <expression>" },
145 {
"AND -windows",
"Syntax: <expression> AND <expression>" },
146 {
"gordian NOT",
"Syntax: <expression> NOT <expression>" },
147 {
"gordian AND NOT",
"Syntax: <expression> AND NOT <expression>" },
148 {
"gordian AND -",
"Syntax: <expression> AND <expression>" },
149 {
"foo OR (something AND)",
"Syntax: <expression> AND <expression>" },
150 {
"OR foo",
"Syntax: <expression> OR <expression>" },
151 {
"XOR",
"Syntax: <expression> XOR <expression>" },
153 {
"a OR -b",
"Syntax: <expression> OR <expression>" },
154 {
"hard\xa0space",
"(Zhard@1 OR Zspace@2)" },
155 {
" white\r\nspace\ttest ",
"(Zwhite@1 OR Zspace@2 OR Ztest@3)" },
156 {
"one AND two three",
"(Zone@1 AND (Ztwo@2 OR Zthree@3))" },
157 {
"one two AND three",
"((Zone@1 OR Ztwo@2) AND Zthree@3)" },
158 {
"one AND two/three",
"(Zone@1 AND (two@2 PHRASE 2 three@3))" },
159 {
"one AND /two/three",
"(Zone@1 AND (two@2 PHRASE 2 three@3))" },
160 {
"one AND/two/three",
"(Zone@1 AND (two@2 PHRASE 2 three@3))" },
161 {
"one +/two/three",
"((two@2 PHRASE 2 three@3) AND_MAYBE Zone@1)" },
162 {
"one//two",
"(one@1 PHRASE 2 two@2)" },
163 {
"\"missing quote",
"(missing@1 PHRASE 2 quote@2)" },
164 {
"DVD+RW",
"(dvd@1 OR rw@2)" },
165 {
"+\"must have\" optional",
"((must@1 PHRASE 2 have@2) AND_MAYBE Zoption@3)" },
166 {
"one NEAR two NEAR three",
"(one@1 NEAR 12 two@2 NEAR 12 three@3)" },
167 {
"something NEAR/3 else",
"(something@1 NEAR 4 else@2)" },
168 {
"a NEAR/6 b NEAR c",
"(a@1 NEAR 8 b@2 NEAR 8 c@3)" },
169 {
"something ADJ else",
"(something@1 PHRASE 11 else@2)" },
170 {
"something ADJ/3 else",
"(something@1 PHRASE 4 else@2)" },
171 {
"a ADJ/6 b ADJ c",
"(a@1 PHRASE 8 b@2 PHRASE 8 c@3)" },
172 {
"dog SYN mutt SYN cur SYN pug",
"(((Zdog@1 SYNONYM Zmutt@2) SYNONYM Zcur@3) SYNONYM Zpug@4)" },
173 {
"dog SYN mutt AND food",
"((Zdog@1 SYNONYM Zmutt@2) AND Zfood@3)" },
174 {
"dog SYN mutt NOT cat",
"((Zdog@1 SYNONYM Zmutt@2) AND_NOT Zcat@3)" },
181 {
"a NEAR/\xc4\xb5 b",
"(Za@1 OR (near@2 PHRASE 2 \xc4\xb5@3) OR Zb@4)" },
182 {
"a ADJ/\xc4\xb5 b",
"(Za@1 OR (adj@2 PHRASE 2 \xc4\xb5@3) OR Zb@4)" },
185 {
"a NEAR/b",
"(Za@1 OR (near@2 PHRASE 2 b@3))" },
186 {
"a ADJ/b",
"(Za@1 OR (adj@2 PHRASE 2 b@3))" },
187 {
"a NEAR/b c",
"(Za@1 OR (near@2 PHRASE 2 b@3) OR Zc@4)" },
188 {
"a ADJ/b c",
"(Za@1 OR (adj@2 PHRASE 2 b@3) OR Zc@4)" },
191 {
"+(one two) three",
"((Zone@1 OR Ztwo@2) AND_MAYBE Zthree@3)" },
192 {
"zero -(one two)",
"(Zzero@1 AND_NOT (Zone@2 OR Ztwo@3))" },
194 {
"category:Foo",
"0 * XCAT:Foo" },
195 {
"category:foo",
"0 * XCATfoo" },
196 {
"category:\xc3\x96oo",
"0 * XCAT\xc3\x96oo" },
197 {
"category::colon",
"0 * XCAT::colon" },
199 {
"category:\"Hello world\"",
"0 * XCAT:Hello world" },
200 {
"category:\"literal \"\"\"",
"0 * XCATliteral \"" },
201 {
"category:\" \"",
"0 * XCAT " },
202 {
"category:\"\"",
"0 * XCAT" },
203 {
"category:\"(unterminated)",
"0 * XCAT(unterminated)" },
205 {
"“curly quotes”",
"(curly@1 PHRASE 2 quotes@2)" },
208 {
"subject:\"foo\"\"bar\"",
"(XTfoo@1 PHRASE 2 XTbar@2)" },
210 {
"(foo",
"Zfoo@1" },
211 {
"(foo XOR bar",
"(Zfoo@1 XOR Zbar@2)" },
212 {
"(foo XOR (bar AND baz)",
"(Zfoo@1 XOR (Zbar@2 AND Zbaz@3))" },
213 {
"(foo XOR (bar AND baz",
"(Zfoo@1 XOR (Zbar@2 AND Zbaz@3))" },
215 {
"\"curly quotes”",
"(curly@1 PHRASE 2 quotes@2)" },
216 {
"“curly quotes\"",
"(curly@1 PHRASE 2 quotes@2)" },
217 {
"“curly quotes“",
"(curly@1 PHRASE 2 quotes@2)" },
218 {
"”curly quotes”",
"(curly@1 PHRASE 2 quotes@2)" },
219 {
"author:“orwell” title:“animal\"",
"(Aorwell@1 OR XTanimal@2)" },
220 {
"author:\"orwell” title:“animal”",
"(Aorwell@1 OR XTanimal@2)" },
221 {
"author:“milne, a.a.”",
"(Amilne@1 PHRASE 3 Aa@2 PHRASE 3 Aa@3)" },
222 {
"author:“milne, a.a.\"",
"(Amilne@1 PHRASE 3 Aa@2 PHRASE 3 Aa@3)" },
223 {
"author:\"milne a.a.”",
"(Amilne@1 PHRASE 3 Aa@2 PHRASE 3 Aa@3)" },
224 {
"“hello world” +python",
"(Zpython@3 AND_MAYBE (hello@1 PHRASE 2 world@2))" },
225 {
"unmatched“",
"Zunmatch@1" },
226 {
"unmatched”",
"Zunmatch@1" },
227 {
"unmatched “ ” ",
"Zunmatch@1" },
228 {
"unmatched \" ” ",
"Zunmatch@1" },
229 {
"unmatched “ \" ",
"Zunmatch@1" },
230 {
"hyphen-ated“ ",
"(hyphen@1 PHRASE 2 ated@2)" },
231 {
"hyphen-ated” ",
"(hyphen@1 PHRASE 2 ated@2)" },
232 {
"hyphen-ated“ ”",
"(hyphen@1 PHRASE 2 ated@2)" },
233 {
"hyphen-ated“ \"",
"(hyphen@1 PHRASE 2 ated@2)" },
234 {
"hyphen-ated\" ”",
"(hyphen@1 PHRASE 2 ated@2)" },
235 {
"“1.4”",
"1.4@1" },
237 {
"\"A#.B.”",
"(a#@1 PHRASE 2 b@2)" },
238 {
"“ Xapian QueryParser” parses queries",
"((xapian@1 PHRASE 2 queryparser@2) OR (Zpars@3 OR Zqueri@4))" },
239 {
"“ xapian queryParser\" parses queries",
"((xapian@1 PHRASE 2 queryparser@2) OR (Zpars@3 OR Zqueri@4))" },
240 {
"beer NOT “orange juice”",
"(Zbeer@1 AND_NOT (orange@2 PHRASE 2 juice@3))" },
241 {
"“missing quote",
"(missing@1 PHRASE 2 quote@2)" },
242 {
"+“must have” optional",
"((must@1 PHRASE 2 have@2) AND_MAYBE Zoption@3)" },
243 {
"category:“Hello world”",
"0 * XCAT:Hello world" },
244 {
"category:“literal \"\"”",
"0 * XCATliteral \"" },
245 {
"category:“ ”",
"0 * XCAT " },
246 {
"category:\" ”\"",
"0 * XCAT ”" },
247 {
"category:\" ”",
"0 * XCAT ”" },
248 {
"category:“ \"",
"0 * XCAT " },
249 {
"category:“”",
"0 * XCAT" },
250 {
"category:\"”\"",
"0 * XCAT”" },
251 {
"category:\"”",
"0 * XCAT”" },
252 {
"category:“\"",
"0 * XCAT" },
253 {
"category:“(unterminated)",
"0 * XCAT(unterminated)" },
255 #define SHY "\xc2\xad"
256 {
"pro" SHY "duced in" SHY "de" SHY "pen" SHY "dently",
"(Zproduc@1 OR Zindepend@2)" },
258 #define ZWSP "\xe2\x80\x8b"
259 {
"lorem" ZWSP "ipsum" ZWSP "dolor",
"(Zlorem@1 OR Zipsum@2 OR Zdolor@3)" },
261 {
"Call to undefined function: imagecreate()",
"(call@1 OR Zto@2 OR Zundefin@3 OR Zfunction@4 OR imagecreate@5)" },
262 {
"mysql_fetch_row(): supplied argument is not a valid MySQL result resource",
"(mysql_fetch_row@1 OR (Zsuppli@2 OR Zargument@3 OR Zis@4 OR Znot@5 OR Za@6 OR Zvalid@7 OR mysql@8 OR Zresult@9 OR Zresourc@10))" },
263 {
"php date() nedelands",
"(Zphp@1 OR date@2 OR Znedeland@3)" },
264 {
"wget domein --http-user",
"(Zwget@1 OR Zdomein@2 OR (http@3 PHRASE 2 user@4))" },
265 {
"@home problemen",
"(Zhome@1 OR Zproblemen@2)" },
266 {
"'ipacsum'",
"Zipacsum@1" },
267 {
"canal + ",
"Zcanal@1" },
268 {
"/var/run/mysqld/mysqld.sock",
"(var@1 PHRASE 5 run@2 PHRASE 5 mysqld@3 PHRASE 5 mysqld@4 PHRASE 5 sock@5)" },
269 {
"\"QSI-161 drivers\"",
"(qsi@1 PHRASE 3 161@2 PHRASE 3 drivers@3)" },
270 {
"\"e-cube\" barebone",
"((e@1 PHRASE 2 cube@2) OR Zbarebon@3)" },
271 {
"\"./httpd: symbol not found: dlopen\"",
"(httpd@1 PHRASE 5 symbol@2 PHRASE 5 not@3 PHRASE 5 found@4 PHRASE 5 dlopen@5)" },
272 {
"ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)",
"(error@1 OR 2003@2 OR can't@3 OR Zconnect@4 OR Zto@5 OR mysql@6 OR Zserver@7 OR Zon@8 OR Zlocalhost@9 OR 10061@10)" },
273 {
"location.href = \"\"",
"(location@1 PHRASE 2 href@2)" },
274 {
"method=\"post\" action=\"\">",
"(method@1 OR post@2 OR action@3)" },
275 {
"behuizing 19\" inch",
"(Zbehuiz@1 OR 19@2 OR inch@3)" },
276 {
"19\" rack",
"(19@1 OR rack@2)" },
277 {
"3,5\" mainboard",
"(3,5@1 OR mainboard@2)" },
278 {
"553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)",
"(553@1 OR Zsorri@2 OR (Zthat@3 OR Zdomain@4 OR Zisn't@5 OR Zin@6 OR Zmy@7 OR Zlist@8 OR Zof@9 OR Zallow@10 OR Zrcpthost@11) OR 5.7.1@12)" },
279 {
"data error (clic redundancy check)",
"(Zdata@1 OR Zerror@2 OR (Zclic@3 OR Zredund@4 OR Zcheck@5))" },
280 {
"? mediaplayer 9\"",
"(Zmediaplay@1 OR 9@2)" },
281 {
"date(\"w\")",
"(date@1 OR w@2)" },
282 {
"Syntaxisfout (operator ontbreekt ASP",
"(syntaxisfout@1 OR (Zoper@2 OR Zontbreekt@3 OR asp@4))" },
283 {
"Request.ServerVariables(\"logon_user\")",
"((request@1 PHRASE 2 servervariables@2) OR logon_user@3)" },
284 {
"ASP \"request.form\" van \\\"enctype=\"MULTIPART/FORM-DATA\"\\\"",
"(asp@1 OR (request@2 PHRASE 2 form@3) OR Zvan@4 OR enctype@5 OR (multipart@6 PHRASE 3 form@7 PHRASE 3 data@8))" },
285 {
"USER ftp (Login failed): Invalid shell: /sbin/nologin",
"(user@1 OR Zftp@2 OR (login@3 OR Zfail@4) OR (invalid@5 OR Zshell@6) OR (sbin@7 PHRASE 2 nologin@8))" },
286 {
"ip_masq_new(proto=TCP)",
"(ip_masq_new@1 OR proto@2 OR tcp@3)" },
287 {
"\"document.write(\"",
"(document@1 PHRASE 2 write@2)" },
288 {
"ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)",
"(error@1 OR 1045@2 OR access@3 OR Zdeni@4 OR Zfor@5 OR Zuser@6 OR (root@7 PHRASE 2 localhost@8) OR (using@9 OR Zpassword@10 OR no@11))" },
289 {
"TIP !! subtitles op TV-out (via DVD max g400)",
"(tip@1 OR (Zsubtitl@2 OR Zop@3) OR (tv@4 PHRASE 2 out@5) OR (Zvia@6 OR dvd@7 OR Zmax@8 OR Zg400@9))" },
290 {
"Gigabyte 8PE667 (de Ultra versie) of Asus A7N8X Deluxe",
"(gigabyte@1 OR 8pe667@2 OR (Zde@3 OR ultra@4 OR Zversi@5) OR (Zof@6 OR asus@7 OR a7n8x@8 OR deluxe@9))" },
291 {
"\"1) Ze testen 8x AF op de GFFX tegen \"",
"(1@1 PHRASE 9 ze@2 PHRASE 9 testen@3 PHRASE 9 8x@4 PHRASE 9 af@5 PHRASE 9 op@6 PHRASE 9 de@7 PHRASE 9 gffx@8 PHRASE 9 tegen@9)" },
292 {
"\") Ze houden geen rekening met de kwaliteit van AF. Als ze dat gedaan hadden dan waren ze tot de conclusie gekomen dat Performance AF (dus Bilinear AF) op de 9700Pro goed te vergelijken is met Balanced AF op de GFFX. En dan hadden ze ook gezien dat de GFFX niet kan tippen aan de Quality AF van de 9700Pro.\"",
"(ze@1 PHRASE 59 houden@2 PHRASE 59 geen@3 PHRASE 59 rekening@4 PHRASE 59 met@5 PHRASE 59 de@6 PHRASE 59 kwaliteit@7 PHRASE 59 van@8 PHRASE 59 af@9 PHRASE 59 als@10 PHRASE 59 ze@11 PHRASE 59 dat@12 PHRASE 59 gedaan@13 PHRASE 59 hadden@14 PHRASE 59 dan@15 PHRASE 59 waren@16 PHRASE 59 ze@17 PHRASE 59 tot@18 PHRASE 59 de@19 PHRASE 59 conclusie@20 PHRASE 59 gekomen@21 PHRASE 59 dat@22 PHRASE 59 performance@23 PHRASE 59 af@24 PHRASE 59 dus@25 PHRASE 59 bilinear@26 PHRASE 59 af@27 PHRASE 59 op@28 PHRASE 59 de@29 PHRASE 59 9700pro@30 PHRASE 59 goed@31 PHRASE 59 te@32 PHRASE 59 vergelijken@33 PHRASE 59 is@34 PHRASE 59 met@35 PHRASE 59 balanced@36 PHRASE 59 af@37 PHRASE 59 op@38 PHRASE 59 de@39 PHRASE 59 gffx@40 PHRASE 59 en@41 PHRASE 59 dan@42 PHRASE 59 hadden@43 PHRASE 59 ze@44 PHRASE 59 ook@45 PHRASE 59 gezien@46 PHRASE 59 dat@47 PHRASE 59 de@48 PHRASE 59 gffx@49 PHRASE 59 niet@50 PHRASE 59 kan@51 PHRASE 59 tippen@52 PHRASE 59 aan@53 PHRASE 59 de@54 PHRASE 59 quality@55 PHRASE 59 af@56 PHRASE 59 van@57 PHRASE 59 de@58 PHRASE 59 9700pro@59)" },
293 {
"\"Ze houden geen rekening met de kwaliteit van AF. Als ze dat gedaan hadden dan waren ze tot de conclusie gekomen dat Performance AF (dus Bilinear AF) op de 9700Pro goed te vergelijken is met Balanced AF op de GFFX. En dan hadden ze ook gezien dat de GFFX niet kan tippen aan de Quality AF van de 9700Pro.\"",
"(ze@1 PHRASE 59 houden@2 PHRASE 59 geen@3 PHRASE 59 rekening@4 PHRASE 59 met@5 PHRASE 59 de@6 PHRASE 59 kwaliteit@7 PHRASE 59 van@8 PHRASE 59 af@9 PHRASE 59 als@10 PHRASE 59 ze@11 PHRASE 59 dat@12 PHRASE 59 gedaan@13 PHRASE 59 hadden@14 PHRASE 59 dan@15 PHRASE 59 waren@16 PHRASE 59 ze@17 PHRASE 59 tot@18 PHRASE 59 de@19 PHRASE 59 conclusie@20 PHRASE 59 gekomen@21 PHRASE 59 dat@22 PHRASE 59 performance@23 PHRASE 59 af@24 PHRASE 59 dus@25 PHRASE 59 bilinear@26 PHRASE 59 af@27 PHRASE 59 op@28 PHRASE 59 de@29 PHRASE 59 9700pro@30 PHRASE 59 goed@31 PHRASE 59 te@32 PHRASE 59 vergelijken@33 PHRASE 59 is@34 PHRASE 59 met@35 PHRASE 59 balanced@36 PHRASE 59 af@37 PHRASE 59 op@38 PHRASE 59 de@39 PHRASE 59 gffx@40 PHRASE 59 en@41 PHRASE 59 dan@42 PHRASE 59 hadden@43 PHRASE 59 ze@44 PHRASE 59 ook@45 PHRASE 59 gezien@46 PHRASE 59 dat@47 PHRASE 59 de@48 PHRASE 59 gffx@49 PHRASE 59 niet@50 PHRASE 59 kan@51 PHRASE 59 tippen@52 PHRASE 59 aan@53 PHRASE 59 de@54 PHRASE 59 quality@55 PHRASE 59 af@56 PHRASE 59 van@57 PHRASE 59 de@58 PHRASE 59 9700pro@59)" },
294 {
"$structure = imap_header($mbox, $tt);",
"(Zstructur@1 OR imap_header@2 OR Zmbox@3 OR Ztt@4)" },
295 {
"\"ifup: Could not get a valid interface name: -> skipped\"",
"(ifup@1 PHRASE 9 could@2 PHRASE 9 not@3 PHRASE 9 get@4 PHRASE 9 a@5 PHRASE 9 valid@6 PHRASE 9 interface@7 PHRASE 9 name@8 PHRASE 9 skipped@9)" },
296 {
"Er kan geen combinatie van filters worden gevonden om de gegevensstroom te genereren. (Error=80040218)",
"(er@1 OR Zkan@2 OR Zgeen@3 OR Zcombinati@4 OR Zvan@5 OR Zfilter@6 OR Zworden@7 OR Zgevonden@8 OR Zom@9 OR Zde@10 OR Zgegevensstroom@11 OR Zte@12 OR Zgenereren@13 OR (error@14 OR 80040218@15))" },
297 {
"ereg_replace(\"\\\\\",\"\\/\"",
"ereg_replace@1" },
298 {
"\\\\\"divx+geen+geluid\\\\\"",
"(divx@1 PHRASE 3 geen@2 PHRASE 3 geluid@3)" },
299 {
"lcase(\"string\")",
"(lcase@1 OR string@2)" },
300 {
"isEmpty( ) functie in visual basic",
"(isempty@1 OR (Zfuncti@2 OR Zin@3 OR Zvisual@4 OR Zbasic@5))" },
301 {
"*** stop: 0x0000001E (0xC0000005,0x00000000,0x00000000,0x00000000)",
"(Zstop@1 OR 0x0000001e@2 OR 0xc0000005,0x00000000,0x00000000,0x00000000@3)" },
302 {
"\"ctrl+v+c+a fout\"",
"(ctrl@1 PHRASE 5 v@2 PHRASE 5 c@3 PHRASE 5 a@4 PHRASE 5 fout@5)" },
303 {
"Server.CreateObject(\"ADODB.connection\")",
"((server@1 PHRASE 2 createobject@2) OR (adodb@3 PHRASE 2 connection@4))" },
304 {
"Presario 6277EA-XP model P4/28 GHz-120GB-DVD-CDRW (512MBWXP) (470048-012)",
"(presario@1 OR (6277ea@2 PHRASE 2 xp@3) OR Zmodel@4 OR (p4@5 PHRASE 2 28@6) OR (ghz@7 PHRASE 4 120gb@8 PHRASE 4 dvd@9 PHRASE 4 cdrw@10) OR 512mbwxp@11 OR (470048@12 PHRASE 2 012@13))" },
305 {
"Failed to connect agent. (AGENT=dbaxchg2, EC=UserId =NUll)",
"(failed@1 OR Zto@2 OR Zconnect@3 OR Zagent@4 OR (agent@5 OR Zdbaxchg2@6 OR ec@7 OR userid@8 OR null@9))" },
306 {
"delphi CreateOleObject(\"MSXML2.DomDocument\")",
"(Zdelphi@1 OR createoleobject@2 OR (msxml2@3 PHRASE 2 domdocument@4))" },
307 {
"Unhandled exeption in IEXPLORE.EXE (FTAPP.DLL)",
"(unhandled@1 OR Zexept@2 OR Zin@3 OR (iexplore@4 PHRASE 2 exe@5) OR (ftapp@6 PHRASE 2 dll@7))" },
308 {
"IBM High Rate Wireless LAN PCI Adapter (Low Profile Enabled)",
"(ibm@1 OR high@2 OR rate@3 OR wireless@4 OR lan@5 OR pci@6 OR adapter@7 OR (low@8 OR profile@9 OR enabled@10))" },
309 {
"asp ' en \"",
"(Zasp@1 OR Zen@2)" },
310 {
"Hercules 3D Prophet 8500 LE 64MB (OEM, Radeon 8500 LE)",
"(hercules@1 OR 3d@2 OR prophet@3 OR 8500@4 OR le@5 OR 64mb@6 OR (oem@7 OR (radeon@8 OR 8500@9 OR le@10)))" },
311 {
"session_set_cookie_params(echo \"hoi\")",
"(session_set_cookie_params@1 OR Zecho@2 OR hoi@3)" },
312 {
"windows update werkt niet (windows se",
"(Zwindow@1 OR Zupdat@2 OR Zwerkt@3 OR Zniet@4 OR (Zwindow@5 OR Zse@6))" },
313 {
"De statuscode van de fout is ( 0 x 4 , 0 , 0 , 0 )",
"(de@1 OR Zstatuscod@2 OR Zvan@3 OR Zde@4 OR Zfout@5 OR Zis@6 OR (0@7 OR Zx@8 OR 4@9 OR 0@10 OR 0@11 OR 0@12))" },
314 {
"sony +(u20 u-20)",
"((Zu20@2 OR (u@3 PHRASE 2 20@4)) AND_MAYBE Zsoni@1)" },
315 {
"[crit] (17)File exists: unable to create scoreboard (name-based shared memory failure)",
"(Zcrit@1 OR 17@2 OR (file@3 OR Zexist@4 OR Zunabl@5 OR Zto@6 OR Zcreat@7 OR Zscoreboard@8) OR ((name@9 PHRASE 2 based@10) OR (Zshare@11 OR Zmemori@12 OR Zfailur@13)))" },
316 {
"directories lokaal php (uitlezen OR inladen)",
"(Zdirectori@1 OR Zlokaal@2 OR Zphp@3 OR (Zuitlezen@4 OR Zinladen@5))" },
317 {
"(multi pc modem)+ (line sync)",
"(Zmulti@1 OR Zpc@2 OR Zmodem@3 OR (Zline@4 OR Zsync@5))" },
318 {
"xp 5.1.2600.0 (xpclient.010817-1148)",
"(Zxp@1 OR 5.1.2600.0@2 OR (xpclient@3 PHRASE 3 010817@4 PHRASE 3 1148@5))" },
319 {
"DirectDraw test results: Failure at step 5 (User verification of rectangles): HRESULT = 0x00000000 (error code) Direct3D 7 test results: Failure at step 32 (User verification of Direct3D rendering): HRESULT = 0x00000000 (error code) Direct3D 8 test results: Failure at step 32 (User verification of Direct3D rendering): HRESULT = 0x00000000 (error code) Direct3D 9 test results: Failure at step 32 (User verification of Direct3D rendering): HRESULT = 0x00000000 (error code)",
"(directdraw@1 OR Ztest@2 OR Zresult@3 OR failure@4 OR Zat@5 OR Zstep@6 OR 5@7 OR (user@8 OR Zverif@9 OR Zof@10 OR Zrectangl@11) OR hresult@12 OR 0x00000000@13 OR (Zerror@14 OR Zcode@15) OR (direct3d@16 OR 7@17 OR Ztest@18 OR Zresult@19 OR failure@20 OR Zat@21 OR Zstep@22 OR 32@23) OR (user@24 OR Zverif@25 OR Zof@26 OR direct3d@27 OR Zrender@28) OR hresult@29 OR 0x00000000@30 OR (Zerror@31 OR Zcode@32) OR (direct3d@33 OR 8@34 OR Ztest@35 OR Zresult@36 OR failure@37 OR Zat@38 OR Zstep@39 OR 32@40) OR (user@41 OR Zverif@42 OR Zof@43 OR direct3d@44 OR Zrender@45) OR hresult@46 OR 0x00000000@47 OR (Zerror@48 OR Zcode@49) OR (direct3d@50 OR 9@51 OR Ztest@52 OR Zresult@53 OR failure@54 OR Zat@55 OR Zstep@56 OR 32@57) OR (user@58 OR Zverif@59 OR Zof@60 OR direct3d@61 OR Zrender@62) OR hresult@63 OR 0x00000000@64 OR (Zerror@65 OR Zcode@66))" },
320 {
"Thermaltake Aquarius II waterkoeling (kompleet voor P4 en XP)",
"(thermaltake@1 OR aquarius@2 OR ii@3 OR Zwaterkoel@4 OR (Zkompleet@5 OR Zvoor@6 OR p4@7 OR Zen@8 OR xp@9))" },
321 {
"E3501 unable to add job to database (EC=-2005)",
"(e3501@1 OR Zunabl@2 OR Zto@3 OR Zadd@4 OR Zjob@5 OR Zto@6 OR Zdatabas@7 OR (ec@8 OR 2005@9))" },
322 {
"\"arp -s\" ip veranderen",
"((arp@1 PHRASE 2 s@2) OR (Zip@3 OR Zveranderen@4))" },
323 {
"header(\"content-type: application/octet-stream\");",
"(header@1 OR (content@2 PHRASE 2 type@3) OR (application@4 PHRASE 3 octet@5 PHRASE 3 stream@6))" },
324 {
"$datum = date(\"d-m-Y\");",
"(Zdatum@1 OR date@2 OR (d@3 PHRASE 3 m@4 PHRASE 3 y@5))" },
325 {
"\"'\" +asp",
"Zasp@1" },
326 {
"+session +[",
"Zsession@1" },
327 {
"Dit apparaat kan niet starten. (Code 10)",
"(dit@1 OR Zapparaat@2 OR Zkan@3 OR Zniet@4 OR Zstarten@5 OR (code@6 OR 10@7))" },
328 {
"\"You cannot use the Administration program while the Domino Server is running. Either shut down the Domino Server (but keep the file server running) or choose the ican labeled 'Lotus Notes' instead.\"",
"(you@1 PHRASE 32 cannot@2 PHRASE 32 use@3 PHRASE 32 the@4 PHRASE 32 administration@5 PHRASE 32 program@6 PHRASE 32 while@7 PHRASE 32 the@8 PHRASE 32 domino@9 PHRASE 32 server@10 PHRASE 32 is@11 PHRASE 32 running@12 PHRASE 32 either@13 PHRASE 32 shut@14 PHRASE 32 down@15 PHRASE 32 the@16 PHRASE 32 domino@17 PHRASE 32 server@18 PHRASE 32 but@19 PHRASE 32 keep@20 PHRASE 32 the@21 PHRASE 32 file@22 PHRASE 32 server@23 PHRASE 32 running@24 PHRASE 32 or@25 PHRASE 32 choose@26 PHRASE 32 the@27 PHRASE 32 ican@28 PHRASE 32 labeled@29 PHRASE 32 lotus@30 PHRASE 32 notes@31 PHRASE 32 instead@32)" },
329 {
"\"+irq +veranderen +xp\"",
"(irq@1 PHRASE 3 veranderen@2 PHRASE 3 xp@3)" },
330 {
"\"is not a member of 'operator``global namespace''' + c++",
"(is@1 PHRASE 9 not@2 PHRASE 9 a@3 PHRASE 9 member@4 PHRASE 9 of@5 PHRASE 9 operator@6 PHRASE 9 global@7 PHRASE 9 namespace@8 PHRASE 9 c++@9)" },
331 {
"mkdir() failed (File exists) php",
"(mkdir@1 OR Zfail@2 OR (file@3 OR Zexist@4) OR Zphp@5)" },
332 {
"laatsteIndex(int n)",
"(laatsteindex@1 OR (Zint@2 OR Zn@3))" },
333 {
"\"line+in\" OR \"c8783\"",
"((line@1 PHRASE 2 in@2) OR c8783@3)" },
334 {
"if ($_POST['Submit'])",
"(Zif@1 OR (_post@2 OR submit@3))" },
335 {
"NEC DVD+-RW ND-1300A",
"(nec@1 OR (dvd+@2 PHRASE 2 rw@3) OR (nd@4 PHRASE 2 1300a@5))" },
336 {
"*String not found* (*String not found*.)",
"(string@1 OR Znot@2 OR found@3 OR (string@4 OR Znot@5 OR found@6))" },
337 {
"MSI G4Ti4200-TD 128MB (GeForce4 Ti4200)",
"(msi@1 OR (g4ti4200@2 PHRASE 2 td@3) OR 128mb@4 OR (geforce4@5 OR ti4200@6))" },
338 {
"href=\"#\"",
"href@1" },
339 {
"Request.ServerVariables(\"REMOTE_USER\") javascript",
"((request@1 PHRASE 2 servervariables@2) OR remote_user@3 OR Zjavascript@4)" },
340 {
"XF86Config(-4) waar",
"(xf86config@1 OR 4@2 OR Zwaar@3)" },
341 {
"Unknown (tag 2000)",
"(unknown@1 OR (Ztag@2 OR 2000@3))" },
342 {
"KT4V(MS-6712)",
"(kt4v@1 OR (ms@2 PHRASE 2 6712@3))" },
343 {
"scheduled+AND+nieuwsgroepen+AND+updaten",
"(Zschedul@1 AND Znieuwsgroepen@2 AND Zupdaten@3)" },
344 {
"137(netbios-ns)",
"(137@1 OR (netbios@2 PHRASE 2 ns@3))" },
345 {
"HARWARE ERROR, TRACKING SERVO (4:0X09:0X01)",
"(harware@1 OR error@2 OR (tracking@3 OR servo@4) OR (4@5 PHRASE 3 0x09@6 PHRASE 3 0x01@7))" },
346 {
"Chr(10) wat is code van \" teken",
"(chr@1 OR 10@2 OR (Zwat@3 OR Zis@4 OR Zcode@5 OR Zvan@6) OR Zteken@7)" },
347 {
"wat is code van \" teken",
"(Zwat@1 OR Zis@2 OR Zcode@3 OR Zvan@4 OR teken@5)" },
348 {
"The Jet VBA file (VBAJET.dll for 16-bit version, VBAJET32.dll version",
"(the@1 OR jet@2 OR vba@3 OR Zfile@4 OR ((vbajet@5 PHRASE 2 dll@6) OR Zfor@7 OR (16@8 PHRASE 2 bit@9) OR Zversion@10 OR (vbajet32@11 PHRASE 2 dll@12) OR Zversion@13))" },
349 {
"Permission denied (publickey,password,keyboard-interactive).",
"(permission@1 OR Zdeni@2 OR (Zpublickey@3 OR Zpassword@4 OR (keyboard@5 PHRASE 2 interactive@6)))" },
350 {
"De lees- of schrijfbewerking (\"written\") op het geheugen is mislukt",
"(de@1 OR Zlee@2 OR Zof@3 OR Zschrijfbewerk@4 OR written@5 OR (Zop@6 OR Zhet@7 OR Zgeheugen@8 OR Zis@9 OR Zmislukt@10))" },
351 {
"Primary IDE channel no 80 conductor cable installed\"",
"(primary@1 OR ide@2 OR Zchannel@3 OR Zno@4 OR 80@5 OR Zconductor@6 OR Zcabl@7 OR installed@8)" },
352 {
"\"2020 NEAR zoom\"",
"(2020@1 PHRASE 3 near@2 PHRASE 3 zoom@3)" },
353 {
"setcookie(\"naam\",\"$user\");",
"(setcookie@1 OR naam@2 OR user@3)" },
354 {
"MSI 645 Ultra (MS-6547) Ver1",
"(msi@1 OR 645@2 OR ultra@3 OR (ms@4 PHRASE 2 6547@5) OR ver1@6)" },
355 {
"if ($HTTP",
"(Zif@1 OR http@2)" },
356 {
"data error(cyclic redundancy check)",
"(Zdata@1 OR error@2 OR (Zcyclic@3 OR Zredund@4 OR Zcheck@5))" },
357 {
"UObject::StaticAllocateObject <- (NULL None) <- UObject::StaticConstructObject <- InitEngine",
"((uobject@1 PHRASE 2 staticallocateobject@2) OR (null@3 OR none@4) OR (uobject@5 PHRASE 2 staticconstructobject@6) OR initengine@7)" },
358 {
"Failure at step 8 (Creating 3D Device)",
"(failure@1 OR Zat@2 OR Zstep@3 OR 8@4 OR (creating@5 OR 3d@6 OR device@7))" },
359 {
"Call Shell(\"notepad.exe\",",
"(call@1 OR shell@2 OR (notepad@3 PHRASE 2 exe@4))" },
360 {
"2.5\" harddisk converter",
"(2.5@1 OR (harddisk@2 PHRASE 2 converter@3))" },
361 {
"creative labs \"dvd+rw\"",
"(Zcreativ@1 OR Zlab@2 OR (dvd@3 PHRASE 2 rw@4))" },
362 {
"\"het beleid van deze computer staat u niet toe interactief",
"(het@1 PHRASE 10 beleid@2 PHRASE 10 van@3 PHRASE 10 deze@4 PHRASE 10 computer@5 PHRASE 10 staat@6 PHRASE 10 u@7 PHRASE 10 niet@8 PHRASE 10 toe@9 PHRASE 10 interactief@10)" },
363 {
"ati radeon \"driver cleaner",
"(Zati@1 OR Zradeon@2 OR (driver@3 PHRASE 2 cleaner@4))" },
364 {
"\"../\" path",
"Zpath@1" },
365 {
"(novell client) workstation only",
"(Znovel@1 OR Zclient@2 OR (Zworkstat@3 OR Zonli@4))" },
366 {
"Unable to find libgd.(a|so) anywhere",
"(unable@1 OR Zto@2 OR Zfind@3 OR Zlibgd@4 OR Za@5 OR Zso@6 OR Zanywher@7)" },
367 {
"\"libstdc++-libc6.1-1.so.2\"",
"(libstdc++@1 PHRASE 5 libc6.1@2 PHRASE 5 1@3 PHRASE 5 so@4 PHRASE 5 2@5)" },
368 {
"ipsec_setup (/etc/ipsec.conf, line 1) cannot open configuration file \"/etc/ipsec.conf\" -- `' aborted",
"(Zipsec_setup@1 OR ((etc@2 PHRASE 3 ipsec@3 PHRASE 3 conf@4) OR (Zline@5 OR 1@6)) OR (Zcannot@7 OR Zopen@8 OR Zconfigur@9 OR Zfile@10) OR (etc@11 PHRASE 3 ipsec@12 PHRASE 3 conf@13) OR Zabort@14)" },
369 {
"Forwarden van domeinnaam (naar HTTP adres)",
"(forwarden@1 OR Zvan@2 OR Zdomeinnaam@3 OR (Znaar@4 OR http@5 OR Zadr@6))" },
370 {
"Compaq HP, 146.8 GB (MPN-286716-B22) Hard Drives",
"(compaq@1 OR hp@2 OR (146.8@3 OR gb@4) OR (mpn@5 PHRASE 3 286716@6 PHRASE 3 b22@7) OR (hard@8 OR drives@9))" },
371 {
"httpd (no pid file) not running",
"(Zhttpd@1 OR (Zno@2 OR Zpid@3 OR Zfile@4) OR (Znot@5 OR Zrun@6))" },
372 {
"apache httpd (pid file) not running",
"(Zapach@1 OR Zhttpd@2 OR (Zpid@3 OR Zfile@4) OR (Znot@5 OR Zrun@6))" },
373 {
"Klasse is niet geregistreerd (Fout=80040154).",
"(klasse@1 OR Zis@2 OR Zniet@3 OR Zgeregistreerd@4 OR (fout@5 OR 80040154@6))" },
374 {
"\"dvd+r\" \"dvd-r\"",
"((dvd@1 PHRASE 2 r@2) OR (dvd@3 PHRASE 2 r@4))" },
375 {
"\"=\" tekens uit csvfile",
"(Zteken@1 OR Zuit@2 OR Zcsvfile@3)" },
376 {
"libc.so.6(GLIBC_2.3)",
"((libc@1 PHRASE 3 so@2 PHRASE 3 6@3) OR glibc_2.3@4)" },
377 {
"Sitecom Broadband xDSL / Cable Router 4S (DC-202)",
"(sitecom@1 OR broadband@2 OR Zxdsl@3 OR (cable@4 OR router@5 OR 4s@6) OR (dc@7 PHRASE 2 202@8))" },
378 {
"(t-mobile) bereik",
"((t@1 PHRASE 2 mobile@2) OR Zbereik@3)" },
379 {
"error LNK2001: unresolved external symbol \"public",
"(Zerror@1 OR lnk2001@2 OR Zunresolv@3 OR Zextern@4 OR Zsymbol@5 OR public@6)" },
380 {
"patch linux exploit -p)",
"(Zpatch@1 OR Zlinux@2 OR Zexploit@3 OR Zp@4)" },
381 {
"MYD not found (Errcode: 2)",
"(myd@1 OR Znot@2 OR Zfound@3 OR (errcode@4 OR 2@5))" },
382 {
"ob_start(\"ob_gzhandler\"); file download",
"(ob_start@1 OR ob_gzhandler@2 OR (Zfile@3 OR Zdownload@4))" },
383 {
"ECS Elitegroup K7VZA (VIA VT8363/VT8363A)",
"(ecs@1 OR elitegroup@2 OR k7vza@3 OR (via@4 OR (vt8363@5 PHRASE 2 vt8363a@6)))" },
384 {
"ASUS A7V8X (LAN + Serial-ATA + Firewire + Raid + Audio)",
"(asus@1 OR a7v8x@2 OR (lan@3 OR (serial@4 PHRASE 2 ata@5) OR firewire@6 OR raid@7 OR audio@8))" },
385 {
"Javascript:history.go(-1)",
"((javascript@1 PHRASE 3 history@2 PHRASE 3 go@3) OR 1@4)" },
386 {
"java :) als icon",
"(Zjava@1 OR (Zal@2 OR Zicon@3))" },
387 {
"onmouseover=setPointer(this",
"(onmouseover@1 OR setpointer@2 OR Zthis@3)" },
388 {
"\" in vbscript",
"(in@1 PHRASE 2 vbscript@2)" },
389 {
"IRC (FAQ OR (hulp NEAR bij))",
"(irc@1 OR (faq@2 OR (hulp@3 NEAR 11 bij@4)))" },
390 {
"setProperty(\"McSquare\"+i, _xscale, _xscale++);",
"(setproperty@1 OR mcsquare@2 OR Zi@3 OR _xscale@4 OR _xscale++@5)" },
391 {
"[warn] Apache does not support line-end comments. Consider using quotes around argument: \"#-1\"",
"(Zwarn@1 OR (apache@2 OR Zdoe@3 OR Znot@4 OR Zsupport@5) OR (line@6 PHRASE 2 end@7) OR Zcomment@8 OR (consider@9 OR Zuse@10 OR Zquot@11 OR Zaround@12 OR Zargument@13) OR 1@14)" },
392 {
"(php.ini) (memory_limit)",
"((php@1 PHRASE 2 ini@2) OR Zmemory_limit@3)" },
393 {
"line 8: syntax error near unexpected token `kernel_thread(f'",
"(Zline@1 OR 8@2 OR Zsyntax@3 OR Zerror@4 OR Znear@5 OR Zunexpect@6 OR Ztoken@7 OR kernel_thread@8 OR Zf@9)" },
394 {
"VXD NAVEX()@)",
"(vxd@1 OR navex@2)" },
395 {
"\"Iiyama AS4314UT 17\" \"",
"(iiyama@1 PHRASE 3 as4314ut@2 PHRASE 3 17@3)" },
396 {
"include (\"$id.html\");",
"(Zinclud@1 OR (id@2 PHRASE 2 html@3))" },
397 {
"include id.Today's date is: <? print (date (\"M d, Y\")); ?>hp",
"(Zinclud@1 OR (id@2 PHRASE 2 today's@3) OR (Zdate@4 OR Zis@5) OR Zprint@6 OR (Zdate@7 OR (m@8 PHRASE 3 d@9 PHRASE 3 y@10)) OR Zhp@11)" },
398 {
"(program files\\common) opstarten",
"(Zprogram@1 OR (files@2 PHRASE 2 common@3) OR Zopstarten@4)" },
399 {
"java \" string",
"(Zjava@1 OR string@2)" },
401 {
"php +=",
"Zphp@1" },
402 {
"[php] ereg_replace(\".\"",
"(Zphp@1 OR ereg_replace@2)" },
403 {
"\"echo -e\" kleur",
"((echo@1 PHRASE 2 e@2) OR Zkleur@3)" },
404 {
"adobe premiere \"-1\"",
"(Zadob@1 OR Zpremier@2 OR 1@3)" },
405 {
"DVD brander \"+\" en \"-\"",
"(dvd@1 OR Zbrander@2 OR Zen@3)" },
406 {
"inspirion \"dvd+R\"",
"(Zinspirion@1 OR (dvd@2 PHRASE 2 r@3))" },
407 {
"asp 0x80040E14)",
"(Zasp@1 OR 0x80040e14@2)" },
408 {
"\"e-tech motorola router",
"(e@1 PHRASE 4 tech@2 PHRASE 4 motorola@3 PHRASE 4 router@4)" },
409 {
"bluetooth '1.3.2.19\"",
"(Zbluetooth@1 OR 1.3.2.19@2)" },
410 {
"ms +-connect",
"(Zms@1 OR Zconnect@2)" },
411 {
"php+print+\"",
"(Zphp@1 OR print+@2)" },
412 {
"athlon 1400 :welke videokaart\"",
"(Zathlon@1 OR 1400@2 OR (Zwelk@3 OR videokaart@4))" },
413 {
"+-dvd",
"Zdvd@1" },
414 {
"glftpd \"-new-\"",
"(Zglftpd@1 OR new@2)" },
415 {
"\"scandisk + dos5.0",
"(scandisk@1 PHRASE 2 dos5.0@2)" },
416 {
"socket\\(\\)",
"socket@1" },
417 {
"msn (e-tech) router",
"(Zmsn@1 OR (e@2 PHRASE 2 tech@3) OR Zrouter@4)" },
418 {
"Het grote Epox 8k3a+ ervaring/prob topic\"",
"(het@1 OR Zgrote@2 OR epox@3 OR 8k3a+@4 OR (ervaring@5 PHRASE 2 prob@6) OR topic@7)" },
419 {
"\"CF+bluetooth\"",
"(cf@1 PHRASE 2 bluetooth@2)" },
420 {
"kwaliteit (s-video) composite verschil tv out",
"(Zkwaliteit@1 OR (s@2 PHRASE 2 video@3) OR (Zcomposit@4 OR Zverschil@5 OR Ztv@6 OR Zout@7))" },
421 {
"Wie kan deze oude hardware nog gebruiken\" Deel",
"(wie@1 OR Zkan@2 OR Zdeze@3 OR Zoud@4 OR Zhardwar@5 OR Znog@6 OR gebruiken@7 OR deel@8)" },
422 {
"Public Declare Sub Sleep Lib \"kernel32\" (ByVal dwMilliseconds As Long)",
"(public@1 OR declare@2 OR sub@3 OR sleep@4 OR lib@5 OR kernel32@6 OR (byval@7 OR Zdwmillisecond@8 OR as@9 OR long@10))" },
423 {
"for inclusion (include_path='.:/usr/share/php')",
"(Zfor@1 OR Zinclus@2 OR (include_path@3 OR (usr@4 PHRASE 3 share@5 PHRASE 3 php@6)))" },
424 {
"\"muziek 2x zo snel\"\"",
"(muziek@1 PHRASE 4 2x@2 PHRASE 4 zo@3 PHRASE 4 snel@4)" },
425 {
"execCommand('inserthorizontalrule'",
"(execcommand@1 OR Zinserthorizontalrul@2)" },
426 {
"specs: IBM PS/2, Intel 8086 @ 25 mhz!!, 2 mb intern, 50 mb hd, 5.5\" floppy drive, toetsenbord en geen muis",
"(Zspec@1 OR ibm@2 OR (ps@3 PHRASE 2 2@4) OR (intel@5 OR 8086@6) OR (25@7 OR Zmhz@8) OR (2@9 OR Zmb@10 OR Zintern@11) OR (50@12 OR Zmb@13 OR Zhd@14) OR 5.5@15 OR (floppy@16 PHRASE 6 drive@17 PHRASE 6 toetsenbord@18 PHRASE 6 en@19 PHRASE 6 geen@20 PHRASE 6 muis@21))" },
427 {
"History: GetEventTool <- GetMusicManager <- GetMusicScript <- DMCallRoutine <- AMusicScriptEvent::execCallRoutine <- UObject::execClassContext <- (U2GameInfo M08A1.U2GameInfo0 @ Function U2.U2GameInfo.NotifyLevelChangeEnd : 0075 line 744) <- UObject::ProcessEvent <- (U2GameInfo M08A1.U2GameInfo0, Function U2.U2GameInfo.NotifyLevelChangeEnd) <- UGameEngine::LoadMap <- LocalMapURL <- UGameEngine::Browse <- ServerTravel <- UGameEngine::Tick <- UpdateWorld <- MainLoop",
"(history@1 OR geteventtool@2 OR getmusicmanager@3 OR getmusicscript@4 OR dmcallroutine@5 OR (amusicscriptevent@6 PHRASE 2 execcallroutine@7) OR (uobject@8 PHRASE 2 execclasscontext@9) OR (u2gameinfo@10 OR (m08a1@11 PHRASE 2 u2gameinfo0@12) OR function@13 OR (u2@14 PHRASE 3 u2gameinfo@15 PHRASE 3 notifylevelchangeend@16) OR (0075@17 OR Zline@18 OR 744@19)) OR (uobject@20 PHRASE 2 processevent@21) OR (u2gameinfo@22 OR (m08a1@23 PHRASE 2 u2gameinfo0@24) OR function@25 OR (u2@26 PHRASE 3 u2gameinfo@27 PHRASE 3 notifylevelchangeend@28)) OR (ugameengine@29 PHRASE 2 loadmap@30) OR localmapurl@31 OR (ugameengine@32 PHRASE 2 browse@33) OR servertravel@34 OR (ugameengine@35 PHRASE 2 tick@36) OR updateworld@37 OR mainloop@38)" },
428 {
"Support AMD XP 2400+ & 2600+ (K7T Turbo2 only)",
"(support@1 OR amd@2 OR xp@3 OR 2400+@4 OR 2600+@5 OR (k7t@6 OR turbo2@7 OR Zonli@8))" },
429 {
"'\"><br>bla</br>",
"(br@1 PHRASE 3 bla@2 PHRASE 3 br@3)" },
430 {
"The instruction at \"0x30053409\" referenced memory at \"0x06460504\". The memory could not be \"read'. Click OK to terminate the application.",
"(the@1 OR Zinstruct@2 OR Zat@3 OR 0x30053409@4 OR (Zreferenc@5 OR Zmemori@6 OR Zat@7) OR 0x06460504@8 OR (the@9 OR Zmemori@10 OR Zcould@11 OR Znot@12 OR Zbe@13) OR (read@14 PHRASE 7 click@15 PHRASE 7 ok@16 PHRASE 7 to@17 PHRASE 7 terminate@18 PHRASE 7 the@19 PHRASE 7 application@20))" },
431 {
"\"(P5A-b)\"",
"(p5a@1 PHRASE 2 b@2)" },
432 {
"(13,5 > 13) == no-go!",
"(13,5@1 OR 13@2 OR (no@3 PHRASE 2 go@4))" },
433 {
"eth not found \"ifconfig -a\"",
"(Zeth@1 OR Znot@2 OR Zfound@3 OR (ifconfig@4 PHRASE 2 a@5))" },
434 {
"<META NAME=\"ROBOTS",
"(meta@1 OR name@2 OR robots@3)" },
435 {
"lp0: using parport0 (interrupt-driven)",
"(Zlp0@1 OR (Zuse@2 OR Zparport0@3) OR (interrupt@4 PHRASE 2 driven@5))" },
436 {
"ULTRA PC-TUNING, COOLING & MODDING (4,6)",
"(ultra@1 OR (pc@2 PHRASE 2 tuning@3) OR cooling@4 OR modding@5 OR 4,6@6)" },
437 {
"512MB PC2700 DDR SDRAM Rood (Dane-Elec)",
"(512mb@1 OR pc2700@2 OR ddr@3 OR sdram@4 OR rood@5 OR (dane@6 PHRASE 2 elec@7))" },
438 {
"header(\"Content Type: text/html\");",
"(header@1 OR (content@2 OR type@3) OR (text@4 PHRASE 2 html@5))" },
439 {
"\"-RW\" \"+RW\"",
"(rw@1 OR rw@2)" },
440 {
"\"cresta digital answering machine",
"(cresta@1 PHRASE 4 digital@2 PHRASE 4 answering@3 PHRASE 4 machine@4)" },
441 {
"Arctic Super Silent PRO TC (Athlon/P3 - 2,3 GHz)",
"(arctic@1 OR super@2 OR silent@3 OR pro@4 OR tc@5 OR ((athlon@6 PHRASE 2 p3@7) OR (2,3@8 OR ghz@9)))" },
442 {
"c++ fopen \"r+t\"",
"(Zc++@1 OR Zfopen@2 OR (r@3 PHRASE 2 t@4))" },
443 {
"c++ fopen (r+t)",
"(Zc++@1 OR Zfopen@2 OR (Zr@3 OR Zt@4))" },
444 {
"\"DVD+R\"",
"(dvd@1 PHRASE 2 r@2)" },
445 {
"Class.forName(\"jdbc.odbc.JdbcOdbcDriver\");",
"((class@1 PHRASE 2 forname@2) OR (jdbc@3 PHRASE 3 odbc@4 PHRASE 3 jdbcodbcdriver@5))" },
446 {
"perl(find.pl)",
"(perl@1 OR (find@2 PHRASE 2 pl@3))" },
447 {
"\"-5v\" voeding",
"(5v@1 OR Zvoed@2)" },
448 {
"\"-5v\" power supply",
"(5v@1 OR (Zpower@2 OR Zsuppli@3))" },
449 {
"An Error occurred whie attempting to initialize the Borland Database Engine (error $2108)",
"(an@1 OR error@2 OR Zoccur@3 OR Zwhie@4 OR Zattempt@5 OR Zto@6 OR Ziniti@7 OR Zthe@8 OR borland@9 OR database@10 OR engine@11 OR (Zerror@12 OR 2108@13))" },
450 {
"(error $2108) Borland",
"(Zerror@1 OR 2108@2 OR borland@3)" },
451 {
"On Friday 04 April 2003 09:32, Edwin van Eersel wrote: > ik voel me eigenlijk wel behoorlijk kut :)",
"(on@1 OR friday@2 OR 04@3 OR april@4 OR 2003@5 OR (09@6 PHRASE 2 32@7) OR (edwin@8 OR Zvan@9 OR eersel@10 OR Zwrote@11) OR (Zik@12 OR Zvoel@13 OR Zme@14 OR Zeigenlijk@15 OR Zwel@16 OR Zbehoorlijk@17 OR Zkut@18))" },
452 {
"Elektrotechniek + \"hoe bevalt het?\"\"",
"(elektrotechniek@1 OR (hoe@2 PHRASE 3 bevalt@3 PHRASE 3 het@4))" },
453 {
"Shortcuts in menu (java",
"(shortcuts@1 OR Zin@2 OR Zmenu@3 OR Zjava@4)" },
454 {
"detonator+settings\"",
"(Zdeton@1 OR settings@2)" },
455 {
"(ez-bios) convert",
"((ez@1 PHRASE 2 bios@2) OR Zconvert@3)" },
456 {
"Sparkle 7100M4 64MB (GeForce4 MX440)",
"(sparkle@1 OR 7100m4@2 OR 64mb@3 OR (geforce4@4 OR mx440@5))" },
457 {
"freebsd \"boek OR newbie\"",
"(Zfreebsd@1 OR (boek@2 PHRASE 3 or@3 PHRASE 3 newbie@4))" },
458 {
"for (;;) c++",
"(Zfor@1 OR Zc++@2)" },
459 {
"1700+-2100+",
"(1700+@1 PHRASE 2 2100+@2)" },
460 {
"PHP Warning: Invalid library (maybe not a PHP library) 'libmysqlclient.so'",
"(php@1 OR warning@2 OR invalid@3 OR Zlibrari@4 OR (Zmayb@5 OR Znot@6 OR Za@7 OR php@8 OR Zlibrari@9) OR (libmysqlclient@10 PHRASE 2 so@11))" },
461 {
"NEC DV-5800B (Bul",
"(nec@1 OR (dv@2 PHRASE 2 5800b@3) OR bul@4)" },
462 {
"org.jdom.input.SAXBuilder.<init>(SAXBuilder.java)",
"((org@1 PHRASE 4 jdom@2 PHRASE 4 input@3 PHRASE 4 saxbuilder@4) OR init@5 OR (saxbuilder@6 PHRASE 2 java@7))" },
463 {
"AMD Athlon XP 2500+ (1,83GHz, 512KB)",
"(amd@1 OR athlon@2 OR xp@3 OR 2500+@4 OR (1,83ghz@5 OR 512kb@6))" },
464 {
"'q ben\"",
"(Zq@1 OR ben@2)" },
465 {
"getsmbfilepwent: malformed password entry (uid not number)",
"(Zgetsmbfilepw@1 OR (Zmalform@2 OR Zpassword@3 OR Zentri@4) OR (Zuid@5 OR Znot@6 OR Znumber@7))" },
466 {
"\xc3\xb6ude onderdelen\"",
"(Z\xc3\xb6ude@1 OR onderdelen@2)" },
467 {
"Heeft iemand enig idee waarom de pioneer (zelf met originele firmware van pioneer) bij mij niet wil flashen ??",
"(heeft@1 OR Ziemand@2 OR Zenig@3 OR Zide@4 OR Zwaarom@5 OR Zde@6 OR Zpioneer@7 OR (Zzelf@8 OR Zmet@9 OR Zoriginel@10 OR Zfirmwar@11 OR Zvan@12 OR Zpioneer@13) OR (Zbij@14 OR Zmij@15 OR Zniet@16 OR Zwil@17 OR Zflashen@18))" },
468 {
"asus a7v266 bios nieuw -(a7v266-e)",
"((Zasus@1 OR Za7v266@2 OR Zbio@3 OR Znieuw@4) AND_NOT (a7v266@5 PHRASE 2 e@6))" },
469 {
"cybercom \"dvd+r\"",
"(Zcybercom@1 OR (dvd@2 PHRASE 2 r@3))" },
470 {
"AMD PCNET Family Ethernet Adapter (PCI-ISA)",
"(amd@1 OR pcnet@2 OR family@3 OR ethernet@4 OR adapter@5 OR (pci@6 PHRASE 2 isa@7))" },
471 {
"relais +/-",
"Zrelai@1" },
472 {
"formules (slepen OR doortrekken) excel",
"(Zformul@1 OR (Zslepen@2 OR Zdoortrekken@3) OR Zexcel@4)" },
473 {
"\"%English",
"english@1" },
474 {
"select max( mysql",
"(Zselect@1 OR max@2 OR Zmysql@3)" },
475 {
"leejow(saait",
"(leejow@1 OR Zsaait@2)" },
476 {
"'Windows 2000 Advanced Server\" netwerkverbinding valt steeds weg",
"(windows@1 OR 2000@2 OR advanced@3 OR server@4 OR (netwerkverbinding@5 PHRASE 4 valt@6 PHRASE 4 steeds@7 PHRASE 4 weg@8))" },
477 {
"K7T Turbo 2 (MS-6330)",
"(k7t@1 OR turbo@2 OR 2@3 OR (ms@4 PHRASE 2 6330@5))" },
478 {
"failed to receive data from the client agent. (ec=1)",
"(Zfail@1 OR Zto@2 OR Zreceiv@3 OR Zdata@4 OR Zfrom@5 OR Zthe@6 OR Zclient@7 OR Zagent@8 OR (ec@9 OR 1@10))" },
479 {
"\"cannot find -lz\"",
"(cannot@1 PHRASE 3 find@2 PHRASE 3 lz@3)" },
480 {
"undefined reference to `mysql_drop_db'\"",
"(Zundefin@1 OR Zrefer@2 OR Zto@3 OR Zmysql_drop_db@4)" },
481 {
"search form asp \"%'",
"(Zsearch@1 OR Zform@2 OR Zasp@3)" },
482 {
"(dvd+r) kwaliteit",
"(Zdvd@1 OR Zr@2 OR Zkwaliteit@3)" },
483 {
"Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 35 bytes)",
"(fatal@1 OR Zerror@2 OR allowed@3 OR Zmemori@4 OR Zsize@5 OR Zof@6 OR 8388608@7 OR Zbyte@8 OR Zexhaust@9 OR (Ztri@10 OR Zto@11 OR Zalloc@12 OR 35@13 OR Zbyte@14))" },
484 {
"geluid (schokt OR hapert)",
"(Zgeluid@1 OR (Zschokt@2 OR Zhapert@3))" },
485 {
"Het wordt pas echt leuk als het hard staat!! >:)",
"(het@1 OR Zwordt@2 OR Zpas@3 OR Zecht@4 OR Zleuk@5 OR Zal@6 OR Zhet@7 OR Zhard@8 OR Zstaat@9)" },
486 {
"Uw configuratie bestand bevat instellingen (root zonder wachtwoord) die betrekking hebben tot de standaard MySQL account. Uw MySQL server draait met deze standaard waardes, en is open voor ongewilde toegang, het wordt dus aangeraden dit op te lossen",
"(uw@1 OR Zconfigurati@2 OR Zbestand@3 OR Zbevat@4 OR Zinstellingen@5 OR (Zroot@6 OR Zzonder@7 OR Zwachtwoord@8) OR (Zdie@9 OR Zbetrekk@10 OR Zhebben@11 OR Ztot@12 OR Zde@13 OR Zstandaard@14 OR mysql@15 OR Zaccount@16 OR uw@17 OR mysql@18 OR Zserver@19 OR Zdraait@20 OR Zmet@21 OR Zdeze@22 OR Zstandaard@23 OR Zwaard@24) OR (Zen@25 OR Zis@26 OR Zopen@27 OR Zvoor@28 OR Zongewild@29 OR Ztoegang@30) OR (Zhet@31 OR Zwordt@32 OR Zdus@33 OR Zaangeraden@34 OR Zdit@35 OR Zop@36 OR Zte@37 OR Zlossen@38))" },
487 {
"(library qt-mt) not found",
"(Zlibrari@1 OR (qt@2 PHRASE 2 mt@3) OR (Znot@4 OR Zfound@5))" },
488 {
"Qt (>= Qt 3.0.3) (library qt-mt) not found",
"(qt@1 OR (qt@2 OR 3.0.3@3) OR (Zlibrari@4 OR (qt@5 PHRASE 2 mt@6)) OR (Znot@7 OR Zfound@8))" },
489 {
"setup was unable to find (or could not read) the language specific setup resource dll, unable to continue. Please reboot and try again.",
"(Zsetup@1 OR Zwas@2 OR Zunabl@3 OR Zto@4 OR Zfind@5 OR (Zor@6 OR Zcould@7 OR Znot@8 OR Zread@9) OR (Zthe@10 OR Zlanguag@11 OR Zspecif@12 OR Zsetup@13 OR Zresourc@14 OR Zdll@15) OR (Zunabl@16 OR Zto@17 OR Zcontinu@18 OR please@19 OR Zreboot@20 OR Zand@21 OR Ztri@22 OR Zagain@23))" },
490 {
"Titan TTC-D5TB(4/CU35)",
"(titan@1 OR (ttc@2 PHRASE 2 d5tb@3) OR (4@4 PHRASE 2 cu35@5))" },
491 {
"[php] date( min",
"(Zphp@1 OR date@2 OR Zmin@3)" },
492 {
"EPOX EP-8RDA+ (nForce2 SPP+MCP-T) Rev. 1.1",
"(epox@1 OR (ep@2 PHRASE 2 8rda+@3) OR (Znforce2@4 OR spp@5 OR (mcp@6 PHRASE 2 t@7)) OR rev@8 OR 1.1@9)" },
493 {
"554 5.4.6 Too many hops 53 (25 max)",
"(554@1 OR 5.4.6@2 OR too@3 OR Zmani@4 OR Zhop@5 OR 53@6 OR (25@7 OR Zmax@8))" },
494 {
"ik had toch nog een vraagje: er zijn nu eigenlijk alleen maar schijfjes van 4.7GB alleen straks zullen er vast schijfjes van meer dan 4.7GB komen. Zal deze brander dit wel kunnen schijven?""?(na bijvoorbeeld een firmware update?) ben erg benieuwd",
"(Zik@1 OR Zhad@2 OR Ztoch@3 OR Znog@4 OR Zeen@5 OR Zvraagj@6 OR Zer@7 OR Zzijn@8 OR Znu@9 OR Zeigenlijk@10 OR Zalleen@11 OR Zmaar@12 OR Zschijfj@13 OR Zvan@14 OR 4.7gb@15 OR Zalleen@16 OR Zstrak@17 OR Zzullen@18 OR Zer@19 OR Zvast@20 OR Zschijfj@21 OR Zvan@22 OR Zmeer@23 OR Zdan@24 OR 4.7gb@25 OR Zkomen@26 OR zal@27 OR Zdeze@28 OR Zbrander@29 OR Zdit@30 OR Zwel@31 OR Zkunnen@32 OR Zschijven@33 OR (Zna@34 OR Zbijvoorbeeld@35 OR Zeen@36 OR Zfirmwar@37 OR Zupdat@38) OR (Zben@39 OR Zerg@40 OR Zbenieuwd@41))" },
495 {
"ati linux drivers (4.3.0)",
"(Zati@1 OR Zlinux@2 OR Zdriver@3 OR 4.3.0@4)" },
496 {
"ENCAPSED_AND_WHITESPACE",
"encapsed_and_whitespace@1" },
497 {
"lpadmin: add-printer (set device) failed: client-error-not-possible",
"(Zlpadmin@1 OR (add@2 PHRASE 2 printer@3) OR (Zset@4 OR Zdevic@5) OR Zfail@6 OR (client@7 PHRASE 4 error@8 PHRASE 4 not@9 PHRASE 4 possible@10))" },
498 {
"welke dvd \"+r\" media",
"(Zwelk@1 OR Zdvd@2 OR r@3 OR Zmedia@4)" },
499 {
"Warning: stat failed for fotos(errno=2 - No such file or directory)",
"(warning@1 OR (Zstat@2 OR Zfail@3 OR Zfor@4 OR fotos@5) OR errno@6 OR 2@7 OR (no@8 OR Zsuch@9 OR Zfile@10 OR Zor@11 OR Zdirectori@12))" },
500 {
"dvd +/-",
"Zdvd@1" },
501 {
"7vaxp +voltage mod\"",
"(Zvoltag@2 AND_MAYBE (7vaxp@1 OR mod@3))" },
502 {
"lpt port (SPP/EPP) is enabled",
"(Zlpt@1 OR Zport@2 OR (spp@3 PHRASE 2 epp@4) OR (Zis@5 OR Zenabl@6))" },
503 {
"getenv(\"HTTP_REFERER\")",
"(getenv@1 OR http_referer@2)" },
504 {
"Error setting display mode: CreateDevice failed (D3DERR_DRIVERINTERNALERROR)",
"(error@1 OR Zset@2 OR Zdisplay@3 OR Zmode@4 OR createdevice@5 OR Zfail@6 OR d3derr_driverinternalerror@7)" },
505 {
"Exception number: c0000005 (access violation)",
"(exception@1 OR Znumber@2 OR Zc0000005@3 OR (Zaccess@4 OR Zviolat@5))" },
506 {
"header(\"Content-type:application/octetstream\");",
"(header@1 OR (content@2 PHRASE 4 type@3 PHRASE 4 application@4 PHRASE 4 octetstream@5))" },
507 {
"java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)",
"((java@1 PHRASE 3 security@2 PHRASE 3 accesscontrolexception@3) OR (Zaccess@4 OR Zdeni@5) OR ((java@6 PHRASE 3 lang@7 PHRASE 3 runtimepermission@8) OR (accessclassinpackage@9 PHRASE 4 sun@10 PHRASE 4 jdbc@11 PHRASE 4 odbc@12)))" },
508 {
"(001.part.met",
"(001@1 PHRASE 3 part@2 PHRASE 3 met@3)" },
509 {
"Warning: mail(): Use the -f option (5th param) to include valid reply-to address ! in /usr/home/vdb/www/mail.php on line 79",
"(warning@1 OR mail@2 OR (use@3 OR Zthe@4) OR (Zf@5 OR Zoption@6) OR (5th@7 OR Zparam@8) OR (Zto@9 OR Zinclud@10 OR Zvalid@11) OR (reply@12 PHRASE 2 to@13) OR Zaddress@14 OR Zin@15 OR (usr@16 PHRASE 6 home@17 PHRASE 6 vdb@18 PHRASE 6 www@19 PHRASE 6 mail@20 PHRASE 6 php@21) OR (Zon@22 OR Zline@23 OR 79@24))" },
510 {
"PHP Use the -f option (5th param)",
"((php@1 OR use@2 OR Zthe@3 OR Zoption@5 OR (5th@6 OR Zparam@7)) AND_NOT Zf@4)" },
511 {
"dvd \"+\" \"-\"",
"Zdvd@1" },
512 {
"bericht ( %)",
"Zbericht@1" },
513 {
"2500+ of 2600+ (niett OC)",
"(2500+@1 OR Zof@2 OR 2600+@3 OR (Zniett@4 OR oc@5))" },
514 {
"maxtor windows xp werkt The drivers for this device are not installed. (Code 28)",
"(Zmaxtor@1 OR Zwindow@2 OR Zxp@3 OR Zwerkt@4 OR the@5 OR Zdriver@6 OR Zfor@7 OR Zthis@8 OR Zdevic@9 OR Zare@10 OR Znot@11 OR Zinstal@12 OR (code@13 OR 28@14))" },
515 {
"Warning: stat failed for /mnt/web/react/got/react/board/non-www/headlines/tnet-headlines.txt (errno=2 - No such file or directory) in /mnt/web/react/got/react/global/non-www/templates/got/functions.inc.php on line 303",
"(warning@1 OR (Zstat@2 OR Zfail@3 OR Zfor@4) OR (mnt@5 PHRASE 12 web@6 PHRASE 12 react@7 PHRASE 12 got@8 PHRASE 12 react@9 PHRASE 12 board@10 PHRASE 12 non@11 PHRASE 12 www@12 PHRASE 12 headlines@13 PHRASE 12 tnet@14 PHRASE 12 headlines@15 PHRASE 12 txt@16) OR (errno@17 OR 2@18 OR (no@19 OR Zsuch@20 OR Zfile@21 OR Zor@22 OR Zdirectori@23)) OR Zin@24 OR (mnt@25 PHRASE 13 web@26 PHRASE 13 react@27 PHRASE 13 got@28 PHRASE 13 react@29 PHRASE 13 global@30 PHRASE 13 non@31 PHRASE 13 www@32 PHRASE 13 templates@33 PHRASE 13 got@34 PHRASE 13 functions@35 PHRASE 13 inc@36 PHRASE 13 php@37) OR (Zon@38 OR Zline@39 OR 303@40))" },
516 {
"apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16)",
"(Zapm@1 OR (bios@2 OR Zversion@3 OR 1.2@4 OR flags@5 OR 0x03@6) OR (driver@7 OR Zversion@8 OR 1.16@9))" },
517 {
"GA-8IHXP(3.0)",
"((ga@1 PHRASE 2 8ihxp@2) OR 3.0@3)" },
518 {
"8IHXP(3.0)",
"(8ihxp@1 OR 3.0@2)" },
519 {
"na\xc2\xb7si (de ~ (m.))",
"(Zna\xc2\xb7si@1 OR (Zde@2 OR Zm@3))" },
520 {
"header(\"Content-Disposition: attachment;",
"(header@1 OR (content@2 PHRASE 3 disposition@3 PHRASE 3 attachment@4))" },
521 {
"\"header(\"Content-Disposition: attachment;\"",
"(header@1 OR (content@2 PHRASE 2 disposition@3) OR Zattach@4)" },
522 {
"\"Beep -f\"",
"(beep@1 PHRASE 2 f@2)" },
523 {
"kraan NEAR (Elektrisch OR Electrisch)",
"(Zkraan@1 OR near@2 OR (elektrisch@3 OR or@4 OR electrisch@5))" },
524 {
"checking for Qt... configure: error: Qt (>= Qt 3.0.2) (headers and libraries) not found. Please check your installation!",
"(Zcheck@1 OR Zfor@2 OR qt@3 OR Zconfigur@4 OR Zerror@5 OR qt@6 OR (qt@7 OR 3.0.2@8) OR (Zheader@9 OR Zand@10 OR Zlibrari@11) OR (Znot@12 OR Zfound@13 OR please@14 OR Zcheck@15 OR Zyour@16 OR Zinstal@17))" },
525 {
"parse error, unexpected '\\\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING",
"(Zpars@1 OR Zerror@2 OR Zunexpect@3 OR (expecting@4 PHRASE 6 t_string@5 PHRASE 6 or@6 PHRASE 6 t_variable@7 PHRASE 6 or@8 PHRASE 6 t_num_string@9))" },
526 {
"ac3 (0x2000) \"Dolby Laboratories,",
"(Zac3@1 OR 0x2000@2 OR (dolby@3 PHRASE 2 laboratories@4))" },
527 {
"Movie.FileName=(\"../../../~animations/\"+lesson1.recordset.fields('column3')+\"Intro.avi\")",
"((movie@1 PHRASE 2 filename@2) OR animations@3 OR (lesson1@4 PHRASE 3 recordset@5 PHRASE 3 fields@6) OR Zcolumn3@7 OR (intro@8 PHRASE 2 avi@9))" },
528 {
"502 Permission Denied - Permission Denied - news.chello.nl -- http://www.chello.nl/ (Typhoon v1.2.3)",
"(502@1 OR permission@2 OR denied@3 OR (permission@4 OR denied@5) OR (news@6 PHRASE 3 chello@7 PHRASE 3 nl@8) OR (http@9 PHRASE 4 www@10 PHRASE 4 chello@11 PHRASE 4 nl@12) OR (typhoon@13 OR Zv1.2.3@14))" },
529 {
"Motion JPEG (MJPEG codec)",
"(motion@1 OR jpeg@2 OR (mjpeg@3 OR Zcodec@4))" },
530 {
": zoomtext\"",
"zoomtext@1" },
531 {
"Your SORT command does not seem to support the \"-r -n -k 7\"",
"(your@1 OR sort@2 OR Zcommand@3 OR Zdoe@4 OR Znot@5 OR Zseem@6 OR Zto@7 OR Zsupport@8 OR Zthe@9 OR (r@10 PHRASE 4 n@11 PHRASE 4 k@12 PHRASE 4 7@13))" },
532 {
"Geef de naam van de MSDOS prompt op C:\\\\WINDOWS.COM\\\"",
"(geef@1 OR Zde@2 OR Znaam@3 OR Zvan@4 OR Zde@5 OR msdos@6 OR Zprompt@7 OR Zop@8 OR (c@9 PHRASE 3 windows@10 PHRASE 3 com@11))" },
533 {
"\"\"wa is fase\"",
"(Zwa@1 OR Zis@2 OR fase@3)" },
534 {
"<v:imagedata src=\"",
"((v@1 PHRASE 2 imagedata@2) OR src@3)" },
535 {
"system(play ringin.wav); ?>",
"(system@1 OR Zplay@2 OR (ringin@3 PHRASE 2 wav@4))" },
536 {
"\"perfect NEAR systems\"",
"(perfect@1 PHRASE 3 near@2 PHRASE 3 systems@3)" },
537 {
"LoadLibrary(\"mainta/gamex86.dll\") failed",
"(loadlibrary@1 OR (mainta@2 PHRASE 3 gamex86@3 PHRASE 3 dll@4) OR Zfail@5)" },
538 {
"DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');",
"(date_format@1 OR (1997@2 PHRASE 3 10@3 PHRASE 3 04@4) OR (22@5 PHRASE 3 23@6 PHRASE 3 00@7) OR w@8 OR m@9 OR y@10)" },
539 {
"secundaire IDE-controller (dubbele fifo)",
"(Zsecundair@1 OR (ide@2 PHRASE 2 controller@3) OR (Zdubbel@4 OR Zfifo@5))" },
540 {
"\"Postal2+Explorer.exe\"",
"(postal2@1 PHRASE 3 explorer@2 PHRASE 3 exe@3)" },
541 {
"COUNT(*)",
"count@1" },
542 {
"Nuttige Windows progs (1/11)",
"(nuttige@1 OR windows@2 OR Zprog@3 OR (1@4 PHRASE 2 11@5))" },
543 {
"if(usercode==passcode==)",
"(if@1 OR usercode@2 OR passcode@3)" },
544 {
"lg 8160b (dvd+r)",
"(Zlg@1 OR 8160b@2 OR (Zdvd@3 OR Zr@4))" },
545 {
"iPAQ Pocket PC 2002 End User Update (EUU - Service Pack)",
"(Zipaq@1 OR pocket@2 OR pc@3 OR 2002@4 OR end@5 OR user@6 OR update@7 OR (euu@8 OR (service@9 OR pack@10)))" },
546 {
"'ipod pakt tags niet\"",
"(Zipod@1 OR Zpakt@2 OR Ztag@3 OR niet@4)" },
547 {
"\"DVD+/-R\"",
"(dvd+@1 PHRASE 2 r@2)" },
548 {
"\"DVD+R DVD-R\"",
"(dvd@1 PHRASE 4 r@2 PHRASE 4 dvd@3 PHRASE 4 r@4)" },
549 {
"php ;) in een array zetten",
"(Zphp@1 OR (Zin@2 OR Zeen@3 OR Zarray@4 OR Zzetten@5))" },
550 {
"De inhoud van uw advertentie is niet geschikt voor plaatsing op marktplaats! (001",
"(de@1 OR Zinhoud@2 OR Zvan@3 OR Zuw@4 OR Zadvertenti@5 OR Zis@6 OR Zniet@7 OR Zgeschikt@8 OR Zvoor@9 OR Zplaats@10 OR Zop@11 OR Zmarktplaat@12 OR 001@13)" },
551 {
"creative (soundblaster OR sb) 128",
"(Zcreativ@1 OR (Zsoundblast@2 OR Zsb@3) OR 128@4)" },
552 {
"Can't open file: (errno: 145)",
"(can't@1 OR Zopen@2 OR Zfile@3 OR (Zerrno@4 OR 145@5))" },
553 {
"Formateren lukt niet(98,XP)",
"(formateren@1 OR Zlukt@2 OR niet@3 OR 98@4 OR xp@5)" },
554 {
"access denied (java.io.",
"(Zaccess@1 OR Zdeni@2 OR (java@3 PHRASE 2 io@4))" },
555 {
"(access denied (java.io.)",
"(Zaccess@1 OR Zdeni@2 OR (java@3 PHRASE 2 io@4))" },
556 {
"wil niet installeren ( crc fouten)",
"(Zwil@1 OR Zniet@2 OR Zinstalleren@3 OR (Zcrc@4 OR Zfouten@5))" },
557 {
"(DVD+RW) brandsoftware meerdere",
"(dvd@1 OR rw@2 OR (Zbrandsoftwar@3 OR Zmeerder@4))" },
558 {
"(database OF databases) EN geheugen",
"(Zdatabas@1 OR of@2 OR Zdatabas@3 OR (en@4 OR Zgeheugen@5))" },
559 {
"(server 2003) winroute",
"(Zserver@1 OR 2003@2 OR Zwinrout@3)" },
560 {
"54MHz (kanaal 2 VHF) tot tenminste 806 MHz (kanaal 69 UHF)",
"(54mhz@1 OR (Zkanaal@2 OR 2@3 OR vhf@4) OR (Ztot@5 OR Ztenminst@6 OR 806@7 OR mhz@8) OR (Zkanaal@9 OR 69@10 OR uhf@11))" },
561 {
"(draadloos OR wireless) netwerk",
"(Zdraadloo@1 OR Zwireless@2 OR Znetwerk@3)" },
562 {
"localtime(time(NULL));",
"(localtime@1 OR time@2 OR null@3)" },
563 {
"ob_start(\"ob_gzhandler\");",
"(ob_start@1 OR ob_gzhandler@2)" },
564 {
"PPP Closed : LCP Time-out (VPN-0)",
"(ppp@1 OR closed@2 OR lcp@3 OR (time@4 PHRASE 2 out@5) OR (vpn@6 PHRASE 2 0@7))" },
565 {
"COM+-gebeurtenissysteem",
"(com+@1 PHRASE 2 gebeurtenissysteem@2)" },
566 {
"rcpthosts (#5.7.1)",
"(Zrcpthost@1 OR 5.7.1@2)" },
567 {
"Dit apparaat werkt niet goed omdat Windows de voor dit apparaat vereiste stuurprogramma's niet kan laden. (Code 31)",
"(dit@1 OR Zapparaat@2 OR Zwerkt@3 OR Zniet@4 OR Zgo@5 OR Zomdat@6 OR windows@7 OR Zde@8 OR Zvoor@9 OR Zdit@10 OR Zapparaat@11 OR Zvereist@12 OR Zstuurprogramma@13 OR Zniet@14 OR Zkan@15 OR Zladen@16 OR (code@17 OR 31@18))" },
568 {
"window.open( scrollbar",
"((window@1 PHRASE 2 open@2) OR Zscrollbar@3)" },
569 {
"T68i truc ->",
"(t68i@1 OR Ztruc@2)" },
570 {
"T68i ->",
"t68i@1" },
571 {
"\"de lijn is bezet\"\"",
"(de@1 PHRASE 4 lijn@2 PHRASE 4 is@3 PHRASE 4 bezet@4)" },
572 {
"if (eregi(\"",
"(Zif@1 OR eregi@2)" },
573 {
"This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)",
"(this@1 OR Zdevic@2 OR Zis@3 OR Znot@4 OR Zwork@5 OR Zproper@6 OR Zbecaus@7 OR windows@8 OR Zcannot@9 OR Zload@10 OR Zthe@11 OR Zdriver@12 OR Zrequir@13 OR Zfor@14 OR Zthis@15 OR Zdevic@16 OR (code@17 OR 31@18))" },
574 {
"execCommand(\"Paste\");",
"(execcommand@1 OR paste@2)" },
575 {
"\"-1 unread\"",
"(1@1 PHRASE 2 unread@2)" },
576 {
"\"www.historical-fire-engines",
"(www@1 PHRASE 4 historical@2 PHRASE 4 fire@3 PHRASE 4 engines@4)" },
577 {
"\"DVD+RW\" erase",
"((dvd@1 PHRASE 2 rw@2) OR Zeras@3)" },
578 {
"[showjekamer)",
"Zshowjekam@1" },
579 {
"The description for Event ID 1 in Source True Vector Engine ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURC",
"(the@1 OR Zdescript@2 OR Zfor@3 OR event@4 OR id@5 OR 1@6 OR Zin@7 OR source@8 OR true@9 OR vector@10 OR engine@11 OR (Zcannot@12 OR Zbe@13 OR Zfound@14 OR the@15 OR Zlocal@16 OR Zcomput@17 OR Zmay@18 OR Znot@19 OR Zhave@20 OR Zthe@21 OR Znecessari@22 OR Zregistri@23 OR Zinform@24 OR Zor@25 OR Zmessag@26 OR dll@27 OR Zfile@28 OR Zto@29 OR Zdisplay@30 OR Zmessag@31 OR Zfrom@32 OR Za@33 OR Zremot@34 OR Zcomput@35 OR you@36 OR Zmay@37 OR Zbe@38 OR Zabl@39 OR Zto@40 OR Zuse@41 OR Zthe@42) OR auxsourc@43)" },
580 {
"org.apache.jasper.JasperException: This absolute uri (http://java.sun.com/jstl/core) cannot be resolved in either web.xml or the jar files deployed with this application",
"((org@1 PHRASE 4 apache@2 PHRASE 4 jasper@3 PHRASE 4 jasperexception@4) OR (this@5 OR Zabsolut@6 OR Zuri@7) OR (http@8 PHRASE 6 java@9 PHRASE 6 sun@10 PHRASE 6 com@11 PHRASE 6 jstl@12 PHRASE 6 core@13) OR (Zcannot@14 OR Zbe@15 OR Zresolv@16 OR Zin@17 OR Zeither@18) OR (web@19 PHRASE 2 xml@20) OR (Zor@21 OR Zthe@22 OR Zjar@23 OR Zfile@24 OR Zdeploy@25 OR Zwith@26 OR Zthis@27 OR Zapplic@28))" },
581 {
"This absolute uri (http://java.sun.com/jstl/core) cannot be resolved in either web.xml or the jar files deployed with this application",
"(this@1 OR Zabsolut@2 OR Zuri@3 OR (http@4 PHRASE 6 java@5 PHRASE 6 sun@6 PHRASE 6 com@7 PHRASE 6 jstl@8 PHRASE 6 core@9) OR (Zcannot@10 OR Zbe@11 OR Zresolv@12 OR Zin@13 OR Zeither@14) OR (web@15 PHRASE 2 xml@16) OR (Zor@17 OR Zthe@18 OR Zjar@19 OR Zfile@20 OR Zdeploy@21 OR Zwith@22 OR Zthis@23 OR Zapplic@24))" },
582 {
"vervangen # \"/",
"Zvervangen@1" },
583 {
"vervangen # /\"",
"Zvervangen@1" },
584 {
"while(list($key, $val) = each($HTTP_POST_VARS))",
"(while@1 OR list@2 OR Zkey@3 OR Zval@4 OR each@5 OR http_post_vars@6)" },
585 {
"PowerDVD does not support the current display mode. (DDraw Overlay mode is recommended)",
"(powerdvd@1 OR Zdoe@2 OR Znot@3 OR Zsupport@4 OR Zthe@5 OR Zcurrent@6 OR Zdisplay@7 OR Zmode@8 OR (ddraw@9 OR overlay@10 OR Zmode@11 OR Zis@12 OR Zrecommend@13))" },
586 {
"Warning: Unexpected character in input: '' (ASCII=92) state=1 highlight",
"(warning@1 OR (unexpected@2 OR Zcharact@3 OR Zin@4 OR Zinput@5) OR (ascii@6 OR 92@7) OR state@8 OR (1@9 OR Zhighlight@10))" },
587 {
"error: Qt-1.4 (headers and libraries) not found. Please check your installation!",
"(Zerror@1 OR (qt@2 PHRASE 2 1.4@3) OR (Zheader@4 OR Zand@5 OR Zlibrari@6) OR (Znot@7 OR Zfound@8 OR please@9 OR Zcheck@10 OR Zyour@11 OR Zinstal@12))" },
588 {
"Error while initializing the sound driver: device /dev/dsp can't be opened (No such device) The sound server will continue, using the null output device.",
"(error@1 OR Zwhile@2 OR Ziniti@3 OR Zthe@4 OR Zsound@5 OR Zdriver@6 OR Zdevic@7 OR (dev@8 PHRASE 2 dsp@9) OR (Zcan't@10 OR Zbe@11 OR Zopen@12) OR (no@13 OR Zsuch@14 OR Zdevic@15) OR (the@16 OR Zsound@17 OR Zserver@18 OR Zwill@19 OR Zcontinu@20) OR (Zuse@21 OR Zthe@22 OR Znull@23 OR Zoutput@24 OR Zdevic@25))" },
589 {
"mag mijn waarschuwing nu weg ? ;)",
"(Zmag@1 OR Zmijn@2 OR Zwaarschuw@3 OR Znu@4 OR Zweg@5)" },
590 {
"Abit NF7-S (nForce 2 Chipset) Rev 2.0",
"(abit@1 OR (nf7@2 PHRASE 2 s@3) OR (Znforc@4 OR 2@5 OR chipset@6) OR (rev@7 OR 2.0@8))" },
591 {
"Setup Could Not Verify the Integrity of the File\" Error Message Occurs When You Try to Install Windows XP Service Pack 1",
"(setup@1 OR could@2 OR not@3 OR verify@4 OR Zthe@5 OR integrity@6 OR Zof@7 OR Zthe@8 OR file@9 OR (error@10 PHRASE 13 message@11 PHRASE 13 occurs@12 PHRASE 13 when@13 PHRASE 13 you@14 PHRASE 13 try@15 PHRASE 13 to@16 PHRASE 13 install@17 PHRASE 13 windows@18 PHRASE 13 xp@19 PHRASE 13 service@20 PHRASE 13 pack@21 PHRASE 13 1@22))" },
592 {
"(browser 19) citrix",
"(Zbrowser@1 OR 19@2 OR Zcitrix@3)" },
593 {
"preg_replace (.*?)",
"Zpreg_replac@1" },
594 {
"formule excel #naam\"?\"",
"(Zformul@1 OR Zexcel@2 OR naam@3)" },
596 {
"De instructie op 0x77f436f7 verwijst naar geheugen op 0x007f4778. De lees-of schrijfbewerking (\"written\") op het geheugen is mislukt",
"(de@1 OR Zinstructi@2 OR Zop@3 OR 0x77f436f7@4 OR Zverwijst@5 OR Znaar@6 OR Zgeheugen@7 OR Zop@8 OR 0x007f4778@9 OR de@10 OR (lees@11 PHRASE 2 of@12) OR Zschrijfbewerk@13 OR written@14 OR (Zop@15 OR Zhet@16 OR Zgeheugen@17 OR Zis@18 OR Zmislukt@19))" },
597 {
"<iframe src=\"www.tweakers.net></iframe>",
"(Zifram@1 OR src@2 OR (www@3 PHRASE 4 tweakers@4 PHRASE 4 net@5 PHRASE 4 iframe@6))" },
598 {
"\"rpm -e httpd\"",
"(rpm@1 PHRASE 3 e@2 PHRASE 3 httpd@3)" },
599 {
"automatisch op All Flis (*.*)",
"(Zautomatisch@1 OR Zop@2 OR all@3 OR flis@4)" },
600 {
"(Windows; U; Windows NT 5.1; en-US; rv:1.3b) Gecko/20030210",
"(windows@1 OR u@2 OR (windows@3 OR nt@4 OR 5.1@5) OR (en@6 PHRASE 2 us@7) OR (rv@8 PHRASE 2 1.3b@9) OR (gecko@10 PHRASE 2 20030210@11))" },
601 {
"en-US; rv:1.3b) Gecko/20030210",
"((en@1 PHRASE 2 us@2) OR (rv@3 PHRASE 2 1.3b@4) OR (gecko@5 PHRASE 2 20030210@6))" },
602 {
"\"en-US; rv:1.3b) Gecko/20030210\"",
"(en@1 PHRASE 6 us@2 PHRASE 6 rv@3 PHRASE 6 1.3b@4 PHRASE 6 gecko@5 PHRASE 6 20030210@6)" },
603 {
"(./) chmod.sh",
"(chmod@1 PHRASE 2 sh@2)" },
604 {
"document.write(ssg(\" html",
"((document@1 PHRASE 2 write@2) OR ssg@3 OR html@4)" },
605 {
"superstack \"mac+adressen\"",
"(Zsuperstack@1 OR (mac@2 PHRASE 2 adressen@3))" },
606 {
"IIS getenv(REMOTE_HOST)_",
"(iis@1 OR getenv@2 OR remote_host@3 OR _@4)" },
607 {
"IIS en getenv(REMOTE_HOST)",
"(iis@1 OR Zen@2 OR getenv@3 OR remote_host@4)" },
608 {
"php getenv(\"HTTP_REFERER\")",
"(Zphp@1 OR getenv@2 OR http_referer@3)" },
609 {
"nec+-1300",
"(nec+@1 PHRASE 2 1300@2)" },
610 {
"smbpasswd script \"-s\"",
"(Zsmbpasswd@1 OR Zscript@2 OR s@3)" },
611 {
"leestekens \" \xc3\xb6 \xc3\xab",
"(Zleesteken@1 OR (\xc3\xb6@2 PHRASE 2 \xc3\xab@3))" },
612 {
"freesco and (all seeing eye)",
"(Zfreesco@1 OR Zand@2 OR (Zall@3 OR Zsee@4 OR Zeye@5))" },
613 {
"('all seeing eye') and freesco",
"(Zall@1 OR Zsee@2 OR Zeye@3 OR (Zand@4 OR Zfreesco@5))" },
614 {
"\"[......\"",
"" },
615 {
"Error = 11004 (500 No Data (Winsock error #11004))",
"(error@1 OR 11004@2 OR (500@3 OR no@4 OR data@5 OR (winsock@6 OR Zerror@7 OR 11004@8)))" },
616 {
"gegevensfout (cyclishe redundantiecontrole)",
"(Zgegevensfout@1 OR (Zcyclish@2 OR Zredundantiecontrol@3))" },
617 {
"firmware versie waar NEC\"",
"(Zfirmwar@1 OR Zversi@2 OR Zwaar@3 OR nec@4)" },
618 {
"nu.nl \"-1\"",
"((nu@1 PHRASE 2 nl@2) OR 1@3)" },
619 {
"provider+-webspace",
"(provider+@1 PHRASE 2 webspace@2)" },
620 {
"verschil \"dvd+rw\" \"dvd-rw\"",
"(Zverschil@1 OR (dvd@2 PHRASE 2 rw@3) OR (dvd@4 PHRASE 2 rw@5))" },
621 {
"(dhcp client) + hangt",
"(Zdhcp@1 OR Zclient@2 OR Zhangt@3)" },
622 {
"MSI 875P Neo-FIS2R (Intel 875P)",
"(msi@1 OR 875p@2 OR (neo@3 PHRASE 2 fis2r@4) OR (intel@5 OR 875p@6))" },
623 {
"voeding passief gekoeld\"",
"(Zvoed@1 OR Zpassief@2 OR gekoeld@3)" },
624 {
"if (mysql_num_rows($resultaat)==1)",
"(Zif@1 OR mysql_num_rows@2 OR Zresultaat@3 OR 1@4)" },
625 {
"Server.CreateObject(\"Persits.Upload.1\")",
"((server@1 PHRASE 2 createobject@2) OR (persits@3 PHRASE 3 upload@4 PHRASE 3 1@5))" },
626 {
"if(cod>9999999)cod=parseInt(cod/64)",
"(if@1 OR cod@2 OR 9999999@3 OR cod@4 OR parseint@5 OR (cod@6 PHRASE 2 64@7))" },
627 {
"if (cod>9999999",
"(Zif@1 OR (cod@2 OR 9999999@3))" },
628 {
"\"rm -rf /bin/laden\"",
"(rm@1 PHRASE 4 rf@2 PHRASE 4 bin@3 PHRASE 4 laden@4)" },
629 {
"\">>> 0) & 0xFF\"",
"(0@1 PHRASE 2 0xff@2)" },
630 {
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"> document.body.scrollHeight",
"(doctype@1 OR html@2 OR public@3 OR (w3c@4 PHRASE 5 dtd@5 PHRASE 5 html@6 PHRASE 5 4.01@7 PHRASE 5 en@8) OR (document@9 PHRASE 3 body@10 PHRASE 3 scrollheight@11))" },
631 {
"<BR>window.resizeBy(offsetX,offsetY)<P>kweet",
"(br@1 OR (window@2 PHRASE 2 resizeby@3) OR Zoffsetx@4 OR Zoffseti@5 OR p@6 OR Zkweet@7)" },
632 {
"linux humor :)",
"(Zlinux@1 OR Zhumor@2)" },
633 {
"ClassFactory kan aangevraagde klasse niet leveren (Fout=80040111)",
"(classfactory@1 OR Zkan@2 OR Zaangevraagd@3 OR Zklass@4 OR Zniet@5 OR Zleveren@6 OR (fout@7 OR 80040111@8))" },
634 {
"remote_smtp defer (-44)",
"(Zremote_smtp@1 OR Zdefer@2 OR 44@3)" },
635 {
"txtlogin.getText().trim().toUpperCase().intern() == inuser[2 * (i - 1) + 2].trim().toUpperCase().intern() && txtpass.getText().trim().toUpperCase().intern() == inuser[2 * (i - 1) + 3].trim().toUpperCase().intern())",
"((txtlogin@1 PHRASE 2 gettext@2) OR trim@3 OR touppercase@4 OR intern@5 OR inuser@6 OR 2@7 OR Zi@8 OR 1@9 OR 2@10 OR trim@11 OR touppercase@12 OR intern@13 OR (txtpass@14 PHRASE 2 gettext@15) OR trim@16 OR touppercase@17 OR intern@18 OR inuser@19 OR 2@20 OR Zi@21 OR 1@22 OR 3@23 OR trim@24 OR touppercase@25 OR intern@26)" },
636 {
"Koper + amoniak (NH2",
"(koper@1 OR Zamoniak@2 OR nh2@3)" },
637 {
"nec dvd -/+r",
"((Znec@1 OR Zdvd@2) AND_NOT Zr@3)" },
638 {
"er is een gereserveerde fout (-1104) opgetreden",
"(Zer@1 OR Zis@2 OR Zeen@3 OR Zgereserveerd@4 OR Zfout@5 OR 1104@6 OR Zopgetreden@7)" },
639 {
"Cor \\(CCN\\)'\" <cor.kloet@ccn.controlec.nl>",
"(cor@1 OR ccn@2 OR (cor@3 PHRASE 5 kloet@4 PHRASE 5 ccn@5 PHRASE 5 controlec@6 PHRASE 5 nl@7))" },
640 {
"Warning: Failed opening for inclusion (include_path='') in Unknown on line 0",
"(warning@1 OR (failed@2 OR Zopen@3 OR Zfor@4 OR Zinclus@5) OR include_path@6 OR (Zin@7 OR unknown@8 OR Zon@9 OR Zline@10 OR 0@11))" },
641 {
"\"~\" + \"c:\\\"",
"Zc@1" },
642 {
"mysql count(*)",
"(Zmysql@1 OR count@2)" },
643 {
"for %f in (*.*) do",
"(Zfor@1 OR (Zf@2 OR Zin@3) OR Zdo@4)" },
644 {
"raar \"~\" bestand",
"(Zraar@1 OR Zbestand@2)" },
645 {
"NEC DVD +-R/RW 1300",
"(nec@1 OR dvd@2 OR (r@3 PHRASE 2 rw@4) OR 1300@5)" },
646 {
"approved (ref: 38446-263)",
"(Zapprov@1 OR (Zref@2 OR (38446@3 PHRASE 2 263@4)))" },
647 {
"GA-7VRXP(2.0)",
"((ga@1 PHRASE 2 7vrxp@2) OR 2.0@3)" },
648 {
"~ Could not retrieve directory listing for \"/\"",
"(could@1 OR Znot@2 OR Zretriev@3 OR Zdirectori@4 OR Zlist@5 OR Zfor@6)" },
649 {
"asp CreateObject(\"Word.Document\")",
"(Zasp@1 OR createobject@2 OR (word@3 PHRASE 2 document@4))" },
650 {
"De lees- of schrijfbewerking (\"written\") op het geheugen is mislukt.",
"(de@1 OR Zlee@2 OR Zof@3 OR Zschrijfbewerk@4 OR written@5 OR (Zop@6 OR Zhet@7 OR Zgeheugen@8 OR Zis@9 OR Zmislukt@10))" },
651 {
"putStr (map (\\x -> chr (round (21/2 * x^3 - 92 * x^2 + 503/2 * x - 105))) [1..4])",
"(Zputstr@1 OR (Zmap@2 OR ((Zx@3 OR (Zround@5 OR ((21@6 PHRASE 2 2@7) OR Zx@8 OR 3@9 OR 92@10 OR Zx@11 OR 2@12 OR (503@13 PHRASE 2 2@14) OR Zx@15 OR 105@16))) AND_NOT Zchr@4) OR (1@17 PHRASE 2 4@18)))" },
652 {
"parent.document.getElementById(\\\"leftmenu\\\").cols",
"((parent@1 PHRASE 3 document@2 PHRASE 3 getelementbyid@3) OR leftmenu@4 OR Zcol@5)" },
653 {
"<% if not isEmpty(Request.QueryString) then",
"(Zif@1 OR Znot@2 OR isempty@3 OR (request@4 PHRASE 2 querystring@5) OR Zthen@6)" },
654 {
"Active Desktop (Hier issie)",
"(active@1 OR desktop@2 OR (hier@3 OR Zissi@4))" },
655 {
"Asus A7V8X (LAN + Sound)",
"(asus@1 OR a7v8x@2 OR (lan@3 OR sound@4))" },
656 {
"Novell This pentium class machine (or greater) lacks some required CPU feature(s",
"(novell@1 OR this@2 OR Zpentium@3 OR Zclass@4 OR Zmachin@5 OR (Zor@6 OR Zgreater@7) OR (Zlack@8 OR Zsome@9 OR Zrequir@10 OR cpu@11 OR feature@12) OR Zs@13)" },
657 {
"sql server install fails error code (-1)",
"(Zsql@1 OR Zserver@2 OR Zinstal@3 OR Zfail@4 OR Zerror@5 OR Zcode@6 OR 1@7)" },
658 {
"session_register(\"login\");",
"(session_register@1 OR login@2)" },
659 {
"\"kylix+ndmb\"",
"(kylix@1 PHRASE 2 ndmb@2)" },
660 {
"Cannot find imap library (libc-client.a).",
"(cannot@1 OR Zfind@2 OR Zimap@3 OR Zlibrari@4 OR (libc@5 PHRASE 3 client@6 PHRASE 3 a@7))" },
661 {
"If ($_SESSION[\"Login\"] == 1)",
"(if@1 OR (_session@2 OR login@3 OR 1@4))" },
662 {
"You have an error in your SQL syntax near '1')' at line 1",
"(you@1 OR Zhave@2 OR Zan@3 OR Zerror@4 OR Zin@5 OR Zyour@6 OR sql@7 OR Zsyntax@8 OR Znear@9 OR 1@10 OR (Zat@11 OR Zline@12 OR 1@13))" },
663 {
"ASRock K7VT2 (incl. LAN)",
"(asrock@1 OR k7vt2@2 OR (Zincl@3 OR lan@4))" },
664 {
"+windows98 +(geen communicatie) +ie5",
"(Zwindows98@1 AND (Zgeen@2 OR Zcommunicati@3) AND Zie5@4)" },
665 {
"\"xterm -fn\"",
"(xterm@1 PHRASE 2 fn@2)" },
666 {
"IRQL_NOT_LESS_OR_EQUAL",
"irql_not_less_or_equal@1" },
667 {
"access query \"NOT IN\"",
"(Zaccess@1 OR Zqueri@2 OR (not@3 PHRASE 2 in@4))" },
668 {
"\"phrase one \"phrase two\"",
"((phrase@1 PHRASE 2 one@2) OR (Zphrase@3 OR two@4))" },
669 {
"NEAR 207 46 249 27",
"(near@1 OR 207@2 OR 46@3 OR 249@4 OR 27@5)" },
670 {
"- NEAR 12V voeding",
"(near@1 OR 12v@2 OR Zvoed@3)" },
671 {
"waarom \"~\" in directorynaam",
"(Zwaarom@1 OR (Zin@2 OR Zdirectorynaam@3))" },
672 {
"cd'r NEAR toebehoren",
"(cd'r@1 NEAR 11 toebehoren@2)" },
673 {
"site:1 site:2",
"0 * (H1 OR H2)" },
674 {
"site:1 site2:2",
"0 * (H1 AND J2)" },
675 {
"site:1 site:2 site2:2",
"0 * ((H1 OR H2) AND J2)" },
676 {
"site:1 OR site:2",
"(0 * H1 OR 0 * H2)" },
677 {
"site:1 AND site:2",
"(0 * H1 AND 0 * H2)" },
678 {
"foo AND site:2",
"(Zfoo@1 AND 0 * H2)" },
680 {
"category:1 category:2",
"0 * (XCAT1 AND XCAT2)" },
681 {
"category:1 site2:2",
"0 * (XCAT1 AND J2)" },
682 {
"category:1 category:2 site2:2",
"0 * ((XCAT1 AND XCAT2) AND J2)" },
683 {
"category:1 OR category:2",
"(0 * XCAT1 OR 0 * XCAT2)" },
684 {
"category:1 AND category:2",
"(0 * XCAT1 AND 0 * XCAT2)" },
685 {
"foo AND category:2",
"(Zfoo@1 AND 0 * XCAT2)" },
688 {
"category:1 dogegory:2",
"0 * (XCAT1 AND XDOG2)" },
689 {
"A site:1 site:2",
"(a@1 FILTER (H1 OR H2))" },
691 {
"A (site:1 OR site:2)",
"(a@1 FILTER (H1 OR H2))" },
693 {
"A site:1 site2:2",
"(a@1 FILTER (H1 AND J2))" },
694 {
"A site:1 site:2 site2:2",
"(a@1 FILTER ((H1 OR H2) AND J2))" },
696 {
"A site:1 OR site:2",
"(a@1 FILTER (H1 OR H2))" },
698 {
"A site:1 AND site:2",
"((a@1 FILTER H1) AND 0 * H2)" },
699 {
"site:xapian.org OR site:www.xapian.org",
"(0 * Hxapian.org OR 0 * Hwww.xapian.org)" },
700 {
"site:xapian.org site:www.xapian.org",
"0 * (Hxapian.org OR Hwww.xapian.org)" },
701 {
"site:xapian.org AND site:www.xapian.org",
"(0 * Hxapian.org AND 0 * Hwww.xapian.org)" },
702 {
"Xapian site:xapian.org site:www.xapian.org",
"(xapian@1 FILTER (Hxapian.org OR Hwww.xapian.org))" },
703 {
"author:richard author:olly writer:charlie",
"(ZArichard@1 OR ZAolli@2 OR ZAcharli@3)"},
704 {
"author:richard NEAR title:book",
"(Arichard@1 NEAR 11 XTbook@2)"},
705 {
"authortitle:richard NEAR title:book",
"((Arichard@1 OR XTrichard@1) NEAR 11 XTbook@2)" },
706 {
"multisite:xapian.org",
"0 * (Hxapian.org OR Jxapian.org)"},
707 {
"authortitle:richard",
"(ZArichard@1 OR ZXTrichard@1)"},
708 {
"multisite:xapian.org site:www.xapian.org author:richard authortitle:richard",
"((ZArichard@1 OR (ZArichard@2 OR ZXTrichard@2)) FILTER ((Hxapian.org OR Jxapian.org) AND Hwww.xapian.org))" },
709 {
"authortitle:richard-boulton",
"((Arichard@1 PHRASE 2 Aboulton@2) OR (XTrichard@1 PHRASE 2 XTboulton@2))"},
710 {
"authortitle:\"richard boulton\"",
"((Arichard@1 PHRASE 2 Aboulton@2) OR (XTrichard@1 PHRASE 2 XTboulton@2))"},
712 {
"久有归天愿",
"Z久有归天愿@1" },
715 {
"gtk+ -gnome",
"(Zgtk+@1 AND_NOT Zgnome@2)" },
716 {
"“curly quotes”",
"(curly@1 PHRASE 2 quotes@2)" },
718 {
"久有归天愿",
"(久@1 AND 久有@1 AND 有@1 AND 有归@1 AND 归@1 AND 归天@1 AND 天@1 AND 天愿@1 AND 愿@1)" },
719 {
"久有 归天愿",
"((久@1 AND 久有@1 AND 有@1) OR (归@2 AND 归天@2 AND 天@2 AND 天愿@2 AND 愿@2))" },
720 {
"久有!归天愿",
"((久@1 AND 久有@1 AND 有@1) OR (归@2 AND 归天@2 AND 天@2 AND 天愿@2 AND 愿@2))" },
721 {
"title:久有 归 天愿",
"((XT久@1 AND XT久有@1 AND XT有@1) OR 归@2 OR (天@3 AND 天愿@3 AND 愿@3))" },
722 {
"h众ello万众",
"(Zh@1 OR 众@2 OR Zello@3 OR (万@4 AND 万众@4 AND 众@4))" },
723 {
"世(の中)TEST_tm",
"(世@1 OR (の@2 AND の中@2 AND 中@2) OR test_tm@3)" },
724 {
"다녀 AND 와야",
"(다@1 AND 다녀@1 AND 녀@1 AND (와@2 AND 와야@2 AND 야@2))" },
725 {
"authortitle:학술 OR 연구를",
"((A학@1 AND A학술@1 AND A술@1) OR (XT학@1 AND XT학술@1 AND XT술@1) OR (연@2 AND 연구@2 AND 구@2 AND 구를@2 AND 를@2))" },
727 {
"\"久有归\"",
"(久@1 PHRASE 3 有@1 PHRASE 3 归@1)" },
728 {
"\"久有test归\"",
"(久@1 PHRASE 4 有@1 PHRASE 4 test@2 PHRASE 4 归@3)" },
732 {
"\"ພາສາລາວ\"",
"(ພ@1 PHRASE 7 າ@1 PHRASE 7 ສ@1 PHRASE 7 າ@1 PHRASE 7 ລ@1 PHRASE 7 າ@1 PHRASE 7 ວ@1)" },
735 {
"\"မြန်မာစကား\"",
"(မ@1 PHRASE 10 ြ@1 PHRASE 10 န@1 PHRASE 10 ်@1 PHRASE 10 မ@1 PHRASE 10 ာ@1 PHRASE 10 စ@1 PHRASE 10 က@1 PHRASE 10 ာ@1 PHRASE 10 း@1)" },
738 {
"\"ថ្លៃណាស់ \"",
"(ថ@1 PHRASE 8 ្@1 PHRASE 8 ល@1 PHRASE 8 ៃ@1 PHRASE 8 ណ@1 PHRASE 8 ា@1 PHRASE 8 ស@1 PHRASE 8 ់@1)" },
740 { NULL,
"WORD_BREAKS" },
742 {
"久有归天愿",
"(久@1 AND 有@1 AND 归天@1 AND 愿@1)" },
743 {
"久有 归天愿",
"((久@1 AND 有@1) OR (归天@2 AND 愿@2))" },
744 {
"久有!归天愿",
"((久@1 AND 有@1) OR (归天@2 AND 愿@2))" },
746 {
"title:久有 归 天愿",
"((XT久@1 AND XT有@1) OR 归@2 OR (天@3 AND 愿@3))" },
748 {
"h众ello万众",
"(Zh@1 OR 众@2 OR Zello@3 OR (万@4 AND 众@4))" },
751 {
"x 我y",
"(Zx@1 OR 我@2 OR Zy@3)" },
752 {
"x 我 y",
"(Zx@1 OR 我@2 OR Zy@3)" },
753 {
"w x 我y",
"(Zw@1 OR Zx@2 OR 我@3 OR Zy@4)" },
754 {
"w x 我 y",
"(Zw@1 OR Zx@2 OR 我@3 OR Zy@4)" },
759 {
"世(の中)TEST_tm",
"(世@1 OR (の@2 AND 中@2) OR test_tm@3)" },
760 {
"다녀 AND 와야",
"(다녀@1 AND 와야@2)" },
761 {
"authortitle:학술 OR 연구를",
"((A학술@1 AND XT학술@1) OR 연구를@2)" },
764 {
"\"ພາສາລາວ\"",
"(ພາສາ@1 PHRASE 2 ລາວ@1)" },
767 {
"\"မြန်မာစကား\"",
"(မြန်မာ@1 PHRASE 2 စကား@1)" },
770 {
"\"សៀវភៅនេះថ្លៃណាស់ \"",
"(សៀវភៅ@1 PHRASE 4 នេះ@1 PHRASE 4 ថ្លៃ@1 PHRASE 4 ណាស់@1)" },
773 {
"\"hello ,world!\"",
"(hello@1 PHRASE 2 world@2)" },
775 {
"\"三菱UFJファクター\"",
"(三菱@1 PHRASE 3 ufj@2 PHRASE 3 ファクター@3)" },
777 {
"\"久有归天愿\"",
"(久@1 PHRASE 4 有@1 PHRASE 4 归天@1 PHRASE 4 愿@1)" },
778 {
"\"久有test归天\"",
"(久@1 PHRASE 4 有@1 PHRASE 4 test@2 PHRASE 4 归天@3)" },
779 {
"\"归天\"",
"归天@1" },
816 if (!
p->expect)
break;
817 if (strcmp(
p->expect,
"NGRAMS") == 0) {
821 if (strcmp(
p->expect,
"WORD_BREAKS") == 0) {
825 FAIL_TEST(
"Unknown flag code: " <<
p->expect);
827 string expect, parsed;
831 expect =
"parse error";
835 expect = string(
"Query(") + expect +
')';
841 parsed =
"Unknown exception!";
845 expect =
"FeatureUnavailableError: FLAG_WORD_BREAKS requires "
846 "building Xapian to use ICU";
849 tout <<
"Query: " <<
p->query <<
'\n';
855 {
"internet explorer title:(http www)",
"(Zinternet@1 AND Zexplor@2 AND (ZXThttp@3 AND ZXTwww@4))" },
858 {
"one +two three",
"(Zone@1 AND Ztwo@2 AND Zthree@3)" },
859 {
"hello -title:\"hello world\"",
"(Zhello@1 AND_NOT (XThello@2 PHRASE 2 XTworld@3))" },
862 {
"\"hello world\" -C++",
"((hello@1 PHRASE 2 world@2) AND_NOT c++@3)" },
865 {
"-cup site:world",
"(0 * Hworld AND_NOT Zcup@1)" },
866 {
"site:world -cup",
"(0 * Hworld AND_NOT Zcup@1)" },
868 {
"(site:world) -cup",
"(0 * Hworld AND_NOT Zcup@1)" },
872 {
"foo site:xapian.org bar",
"((Zfoo@1 AND Zbar@2) FILTER Hxapian.org)" },
874 {
"a b site:xapian.org",
"((Za@1 AND Zb@2) FILTER Hxapian.org)" },
875 {
"site:xapian.org a b",
"((Za@1 AND Zb@2) FILTER Hxapian.org)" },
878 {
"author:험가 OR subject:万众 hello world!",
"((A험@1 AND A험가@1 AND A가@1) OR (XT万@2 AND XT万众@2 AND XT众@2 AND (Zhello@3 AND Zworld@4)))" },
879 {
"洛伊one儿差点two脸three",
"(洛@1 AND 洛伊@1 AND 伊@1 AND Zone@2 AND (儿@3 AND 儿差@3 AND 差@3 AND 差点@3 AND 点@3) AND Ztwo@4 AND 脸@5 AND Zthree@6)" },
880 { NULL,
"WORD_BREAKS" },
882 {
"author:험가 OR subject:万众 hello world!",
"(A험가@1 OR (XT万@2 AND XT众@2 AND (Zhello@3 AND Zworld@4)))" },
883 {
"洛伊one儿差点two脸three",
"(洛伊@1 AND Zone@2 AND (儿@3 AND 差点@3) AND Ztwo@4 AND 脸@5 AND Zthree@6)" },
900 if (!
p->expect)
break;
901 if (strcmp(
p->expect,
"NGRAMS") == 0) {
905 if (strcmp(
p->expect,
"WORD_BREAKS") == 0) {
909 FAIL_TEST(
"Unknown flag code: " <<
p->expect);
911 string expect, parsed;
915 expect =
"parse error";
919 expect = string(
"Query(") + expect +
')';
925 parsed =
"Unknown exception!";
929 expect =
"FeatureUnavailableError: FLAG_WORD_BREAKS requires "
930 "building Xapian to use ICU";
933 tout <<
"Query: " <<
p->query <<
'\n';
999 string query(
"\x01weird\x00stuff\x7f", 13);
1034 qobj = qp.parse_query(
"mUTTON++");
1039 qobj = qp.parse_query(
"+mai* main", flags);
1043 qobj = qp.parse_query(
"foo* main", flags);
1045 qobj = qp.parse_query(
"main foo*", flags);
1047 qobj = qp.parse_query(
"+foo* main", flags);
1049 qobj = qp.parse_query(
"main +foo*", flags);
1051 qobj = qp.parse_query(
"foo* +main", flags);
1053 qobj = qp.parse_query(
"+main foo*", flags);
1055 qobj = qp.parse_query(
"+foo* +main", flags);
1057 qobj = qp.parse_query(
"+main +foo*", flags);
1059 qobj = qp.parse_query(
"foo* mai", flags);
1061 qobj = qp.parse_query(
"mai foo*", flags);
1063 qobj = qp.parse_query(
"+foo* mai", flags);
1065 qobj = qp.parse_query(
"mai +foo*", flags);
1067 qobj = qp.parse_query(
"foo* +mai", flags);
1069 qobj = qp.parse_query(
"+mai foo*", flags);
1071 qobj = qp.parse_query(
"+foo* +mai", flags);
1073 qobj = qp.parse_query(
"+mai +foo*", flags);
1075 qobj = qp.parse_query(
"-foo* main", flags);
1077 qobj = qp.parse_query(
"main -foo*", flags);
1079 qobj = qp.parse_query(
"main -foo* -bar", flags);
1081 qobj = qp.parse_query(
"main -bar -foo*", flags);
1085 qobj = qp.parse_query(
"foo* main", flags);
1087 qobj = qp.parse_query(
"main foo*", flags);
1090 qobj = qp.parse_query(
"+foo* main", flags);
1092 qobj = qp.parse_query(
"main +foo*", flags);
1094 qobj = qp.parse_query(
"-foo* main", flags);
1096 qobj = qp.parse_query(
"main -foo*", flags);
1102 qobj = qp.parse_query(
"abc muscl* main", flags);
1119 qp.add_prefix(
"author",
"A");
1165 const string & query_string)
1221 struct qp_flag_wildcard4_test {
1223 const char* query_string;
1224 const char* expectw;
1225 const char* expectp;
1228 static const qp_flag_wildcard4_test
testcases[] = {
1229 {0,
"",
"<alldocuments>",
""},
1235 {0,
"m",
"WILDCARD SYNONYM m*", NULL},
1236 {1,
"m",
"WILDCARD SYNONYM m*", NULL},
1237 {1,
"ê",
"WILDCARD SYNONYM ê*", NULL},
1238 {2,
"m", NULL,
"m@1"},
1239 {2,
"ê", NULL,
"ê@1"},
1240 {2,
"\xe0\xa1\xa2", NULL,
"\xe0\xa1\xa2@1"},
1241 {2,
"\xf0\x90\xb3\x97", NULL,
"\xf0\x90\xb3\x97@1"},
1242 {2,
"mu",
"WILDCARD SYNONYM mu*", NULL},
1243 {2,
"mus",
"WILDCARD SYNONYM mus*", NULL},
1244 {3,
"mus",
"WILDCARD SYNONYM mus*", NULL},
1245 {2,
"\xf0\x90\xb3\x97\xf0\x90\xb3\x83",
"WILDCARD SYNONYM \xf0\x90\xb3\x97\xf0\x90\xb3\x83*", NULL},
1246 {4,
"mus", NULL,
"mus@1"},
1247 {3,
"\xf0\x90\xb3\x97\xf0\x90\xb3\x83", NULL,
"\xf0\x90\xb3\x97\xf0\x90\xb3\x83@1"},
1257 tout << test.min_len <<
' ' << test.query_string <<
'\n';
1260 string query_string = string(test.query_string) +
'*';
1262 string expect =
"Query(";
1264 if (test.query_string[0]) {
1265 expect += test.expectw;
1267 if (expect.back() ==
'*') expect.pop_back();
1273 string expect_e =
"Query(";
1274 expect_e += test.expectw;
1276 q = qp.
parse_query(query_string, FLAG_WILDCARD_GLOB);
1281 if (test.query_string[0]) {
1287 qp.
parse_query(query_string, FLAG_WILDCARD_GLOB));
1293 expect += test.expectp;
1299 expect += test.expectw;
1301 size_t end = expect.size();
1302 size_t begin = expect.find_last_of(
' ') + 1;
1304 expect.append(expect, begin, end - begin);
1308 auto q = qp.
parse_query(test.query_string, FLAG_PARTIAL);
1469 static const char *
const stopwords[] = {
"a",
"an",
"the" };
1490 static const struct {
const char* q;
const char* expect; }
testcases[] = {
1491 {
"musket~",
"EDIT_DISTANCE SYNONYM musket~2" },
1492 {
"musket~3",
"EDIT_DISTANCE SYNONYM musket~3" },
1493 {
"musket~0.5",
"EDIT_DISTANCE SYNONYM musket~3" },
1495 {
"+mail~ basket",
"(EDIT_DISTANCE SYNONYM mail~2 AND_MAYBE basket@2)" },
1496 {
"foo~ main",
"(EDIT_DISTANCE SYNONYM foo~2 OR main@2)" },
1497 {
"main foo~",
"(main@1 OR EDIT_DISTANCE SYNONYM foo~2)" },
1498 {
"main +foo~",
"(EDIT_DISTANCE SYNONYM foo~2 AND_MAYBE main@1)" },
1499 {
"foo~ +main",
"(main@2 AND_MAYBE EDIT_DISTANCE SYNONYM foo~2)" },
1500 {
"+main foo~",
"(main@1 AND_MAYBE EDIT_DISTANCE SYNONYM foo~2)" },
1501 {
"+foo~ +main",
"(EDIT_DISTANCE SYNONYM foo~2 AND main@2)" },
1502 {
"+main +foo~",
"(main@1 AND EDIT_DISTANCE SYNONYM foo~2)" },
1503 {
"foo~ mai",
"(EDIT_DISTANCE SYNONYM foo~2 OR mai@2)" },
1504 {
"mai foo~",
"(mai@1 OR EDIT_DISTANCE SYNONYM foo~2)" },
1505 {
"+foo~ mai",
"(EDIT_DISTANCE SYNONYM foo~2 AND_MAYBE mai@2)" },
1506 {
"mai +foo~",
"(EDIT_DISTANCE SYNONYM foo~2 AND_MAYBE mai@1)" },
1507 {
"foo~ +mai",
"(mai@2 AND_MAYBE EDIT_DISTANCE SYNONYM foo~2)" },
1508 {
"+mai foo~",
"(mai@1 AND_MAYBE EDIT_DISTANCE SYNONYM foo~2)" },
1509 {
"+foo~ +mai",
"(EDIT_DISTANCE SYNONYM foo~2 AND mai@2)" },
1510 {
"+mai +foo~",
"(mai@1 AND EDIT_DISTANCE SYNONYM foo~2)" },
1511 {
"-foo~ main",
"(main@2 AND_NOT EDIT_DISTANCE SYNONYM foo~2)" },
1512 {
"main -foo~",
"(main@1 AND_NOT EDIT_DISTANCE SYNONYM foo~2)" },
1513 {
"main -foo~ -bar",
"(main@1 AND_NOT (EDIT_DISTANCE SYNONYM foo~2 OR bar@3))" },
1514 {
"main -bar -foo~",
"(main@1 AND_NOT (bar@2 OR EDIT_DISTANCE SYNONYM foo~2))" },
1517 {
"foo~ main",
"(EDIT_DISTANCE SYNONYM foo~2 AND main@2)" },
1518 {
"main foo~",
"(main@1 AND EDIT_DISTANCE SYNONYM foo~2)" },
1519 {
"+foo~ main",
"(EDIT_DISTANCE SYNONYM foo~2 AND main@2)" },
1520 {
"main +foo~",
"(main@1 AND EDIT_DISTANCE SYNONYM foo~2)" },
1521 {
"-foo~ main",
"(main@2 AND_NOT EDIT_DISTANCE SYNONYM foo~2)" },
1522 {
"main -foo~",
"(main@1 AND_NOT EDIT_DISTANCE SYNONYM foo~2)" },
1524 {
"xyzzy~ -main",
"(EDIT_DISTANCE SYNONYM xyzzy~2 AND_NOT main@2)" },
1525 {
"abc muscl~ main",
"(abc@1 AND EDIT_DISTANCE SYNONYM muscl~2 AND main@3)" },
1537 tout << t.q <<
'\n';
1539 string expect =
"Query(";
1548 static const struct {
const char* q;
const char* expect; }
testcases[] = {
1549 {
"author:huxly~",
"EDIT_DISTANCE SYNONYM Ahuxly~2 fixed_prefix_len=1" },
1550 {
"author:huxly~ test",
"(EDIT_DISTANCE SYNONYM Ahuxly~2 fixed_prefix_len=1 OR test@2)" },
1556 tout << t.q <<
'\n';
1558 string expect =
"Query(";
1568 const string& query_string)
1573 tout <<
"testing fuzzy query '" << query_string <<
"' with default "
1574 "limit (which should be 0)\n";
1577 tout <<
"testing fuzzy query '" << query_string <<
"' with limit "
1578 << max_expansion <<
'\n';
1584 if (max_expansion <= 1)
return;
1651 qobj = queryparser.
parse_query(
"notindb* \"this\"", flags);
1658 qobj = queryparser.
parse_query(
"+notindb* \"this\"", flags);
1690 qobj = queryparser.
parse_query(
"foo *?x?", flags);
1692 "Query((foo@1 OR WILDCARD SYNONYM *?x?))");
1696 "Query((<alldocuments> OR WILDCARD SYNONYM ?))");
1700 "Query((<alldocuments> OR test@2))");
1704 "Query((WILDCARD SYNONYM ?""? OR test@2))");
1706 qobj = queryparser.
parse_query(
"??* test", flags);
1708 "Query((WILDCARD SYNONYM ??* OR test@2))");
1710 qobj = queryparser.
parse_query(
"*?* test", flags);
1712 "Query((<alldocuments> OR test@2))");
1719 qobj = qp.
parse_query(
"to and fro", QueryParser::FLAG_BOOLEAN | QueryParser::FLAG_BOOLEAN_ANY_CASE);
1721 qobj = qp.
parse_query(
"to and fro", QueryParser::FLAG_BOOLEAN);
1724 qobj = qp.
parse_query(
"to And fro", QueryParser::FLAG_BOOLEAN | QueryParser::FLAG_BOOLEAN_ANY_CASE);
1726 qobj = qp.
parse_query(
"to And fro", QueryParser::FLAG_BOOLEAN);
1731 {
"test the queryparser",
"(test@1 AND queryparser@3)" },
1734 {
"test AND the AND queryparser",
"(test@1 AND the@2 AND queryparser@3)" },
1742 {
"an the a",
"(an@1 AND the@2 AND a@3)" },
1745 {
"the AND a an",
"(the@1 AND (a@2 AND an@3))" },
1751 static const char *
const stopwords[] = {
"a",
"an",
"the" };
1756 string expect, parsed;
1760 expect =
"parse error";
1764 expect = string(
"Query(") + expect +
')';
1770 parsed =
"Unknown exception!";
1772 tout <<
"Query: " <<
p->query <<
'\n';
1778 {
"NOT windows",
"(0 * <alldocuments> AND_NOT Zwindow@1)" },
1779 {
"a AND (NOT b)",
"(Za@1 AND (0 * <alldocuments> AND_NOT Zb@2))" },
1780 {
"AND NOT windows",
"Syntax: <expression> AND NOT <expression>" },
1781 {
"gordian NOT",
"Syntax: <expression> NOT <expression>" },
1782 {
"gordian AND NOT",
"Syntax: <expression> AND NOT <expression>" },
1792 string expect, parsed;
1796 expect =
"parse error";
1799 QueryParser::FLAG_BOOLEAN |
1800 QueryParser::FLAG_PURE_NOT);
1802 expect = string(
"Query(") + expect +
')';
1808 parsed =
"Unknown exception!";
1810 tout <<
"Query: " <<
p->query <<
'\n';
1935 {
"a..b",
"VALUE_RANGE 1 a b" },
1936 {
"$50..100",
"VALUE_RANGE 1 $50 100" },
1937 {
"$50..$99",
"VALUE_RANGE 1 $50 $99" },
1938 {
"$50..$100",
"" },
1939 {
"02/03/1979..10/12/1980",
"VALUE_RANGE 1 02/03/1979 10/12/1980" },
1940 {
"a..b hello",
"(hello@1 FILTER VALUE_RANGE 1 a b)" },
1941 {
"hello a..b",
"(hello@1 FILTER VALUE_RANGE 1 a b)" },
1942 {
"hello a..b world",
"((hello@1 OR world@2) FILTER VALUE_RANGE 1 a b)" },
1943 {
"hello a..b test:foo",
"(hello@1 FILTER (VALUE_RANGE 1 a b AND XTESTfoo))" },
1944 {
"hello a..b test:foo test:bar",
"(hello@1 FILTER (VALUE_RANGE 1 a b AND (XTESTfoo OR XTESTbar)))" },
1945 {
"hello a..b c..d test:foo",
"(hello@1 FILTER ((VALUE_RANGE 1 a b OR VALUE_RANGE 1 c d) AND XTESTfoo))" },
1946 {
"hello a..b c..d test:foo test:bar",
"(hello@1 FILTER ((VALUE_RANGE 1 a b OR VALUE_RANGE 1 c d) AND (XTESTfoo OR XTESTbar)))" },
1947 {
"-5..7",
"VALUE_RANGE 1 -5 7" },
1948 {
"hello -5..7",
"(hello@1 FILTER VALUE_RANGE 1 -5 7)" },
1949 {
"-5..7 hello",
"(hello@1 FILTER VALUE_RANGE 1 -5 7)" },
1950 {
"\"time flies\" 09:00..12:30",
"((time@1 PHRASE 2 flies@2) FILTER VALUE_RANGE 1 09:00 12:30)" },
1952 {
"..b",
"VALUE_LE 1 b" },
1953 {
"a..",
"VALUE_GE 1 a" },
1955 {
"10:30+1300..11:00+1300",
"VALUE_RANGE 1 10:30+1300 11:00+1300" },
1966 string expect, parsed;
1970 expect =
"parse error";
1974 expect = string(
"Query(") + expect +
')';
1980 parsed =
"Unknown exception!";
1982 tout <<
"Query: " <<
p->query <<
'\n';
1988 {
"a..b",
"VALUE_RANGE 3 a b" },
1989 {
"1..12",
"VALUE_RANGE 2 \\xa0 \\xae" },
1990 {
"20070201..20070228",
"VALUE_RANGE 1 20070201 20070228" },
1991 {
"$10..20",
"VALUE_RANGE 4 \\xad \\xb1" },
1992 {
"$10..$20",
"VALUE_RANGE 4 \\xad \\xb1" },
1994 {
"$..20",
"VALUE_LE 4 \\xb1" },
1995 {
"..$20",
"VALUE_LE 4 \\xb1" },
1996 {
"$10..",
"VALUE_GE 4 \\xad" },
1997 {
"12..42kg",
"VALUE_RANGE 5 \\xae \\xb5@" },
1998 {
"12kg..42kg",
"VALUE_RANGE 5 \\xae \\xb5@" },
1999 {
"12kg..42",
"VALUE_RANGE 3 12kg 42" },
2000 {
"..42kg",
"VALUE_LE 5 \\xb5@" },
2001 {
"kg..42kg",
"VALUE_LE 5 \\xb5@" },
2002 {
"12..kg",
"VALUE_GE 5 \\xae" },
2003 {
"12kg..",
"VALUE_GE 5 \\xae" },
2004 {
"1..5!",
"VALUE_RANGE 6 \\xa0 \\xa9" },
2005 {
"..5!",
"VALUE_LE 6 \\xa9" },
2006 {
"1..!",
"VALUE_GE 6 \\xa0" },
2009 {
"1999-03-12..2020-12-30",
"VALUE_RANGE 1 19990312 20201230" },
2010 {
"1999/03/12..2020/12/30",
"VALUE_RANGE 1 19990312 20201230" },
2011 {
"1999.03.12..2020.12.30",
"VALUE_RANGE 1 19990312 20201230" },
2012 {
"date:1999-03-12..2020-12-30",
"VALUE_RANGE 1 19990312 20201230" },
2014 {
"..2020.12.30",
"VALUE_LE 1 20201230" },
2015 {
"1999.03.12..",
"VALUE_GE 1 19990312" },
2016 {
"date:..2020.12.30",
"VALUE_LE 1 20201230" },
2017 {
"date:1999.03.12..",
"VALUE_GE 1 19990312" },
2018 {
"..date:2020.12.30",
"VALUE_LE 3 date:2020.12.30" },
2019 {
"1999.03.12..date:",
"VALUE_RANGE 3 1999.03.12 date:" },
2020 {
"12/03/99..12/04/01",
"VALUE_RANGE 1 19990312 20010412" },
2021 {
"03-12-99..04-14-01",
"VALUE_RANGE 1 19990312 20010414" },
2022 {
"1/2/3..2/3/4",
"VALUE_RANGE 1 20030201 20040302" },
2023 {
"(test:a..test:b hello)",
"(hello@1 FILTER VALUE_RANGE 3 test:a test:b)" },
2024 {
"12..42kg 5..6kg 1..12",
"0 * (VALUE_RANGE 2 \\xa0 \\xae AND (VALUE_RANGE 5 \\xae \\xb5@ OR VALUE_RANGE 5 \\xa9 \\xaa))" },
2027 {
"$12a..13",
"VALUE_RANGE 3 $12a 13" },
2028 {
"$12..13b",
"VALUE_RANGE 3 $12 13b" },
2029 {
"$12..12kg",
"VALUE_RANGE 3 $12 12kg" },
2030 {
"12..b12kg",
"VALUE_RANGE 3 12 b12kg" },
2032 {
"date:2000-01-01..date:2001-01-01",
"VALUE_RANGE 3 date:2000-01-01 date:2001-01-01" },
2033 {
"1!..5!",
"VALUE_RANGE 3 1! 5!" },
2058 string expect, parsed;
2062 expect =
"parse error";
2066 expect = string(
"Query(") + expect +
')';
2072 parsed =
"Unknown exception!";
2074 tout <<
"Query: " <<
p->query <<
'\n';
2086 for (
int i = 0; i <= steps; ++i) {
2087 double v = low + i * step;
2106 for (
int j = 0; j <= steps; ++j) {
2107 double start = low + j * step;
2108 for (
int k = 0; k <= steps; ++k) {
2109 double end = low + k * step;
2120 for (
unsigned int m = 0; m != mset.
size(); ++m) {
2121 double v = start + m * step;
2122 TEST_EQUAL(mset[m].get_document().get_value(1),
2131 {
"id:19254@foo..example.com",
"0 * Q19254@foo..example.com" },
2132 {
"hello:world",
"0 * XHELLOworld" },
2133 {
"hello:mum..world",
"VALUE_RANGE 1 mum world" },
2150 string expect, parsed;
2154 expect =
"parse error";
2158 expect = string(
"Query(") + expect +
')';
2164 parsed =
"Unknown exception!";
2166 tout <<
"Query: " <<
p->query <<
'\n';
2172 {
"financial report size:100K..1M",
"((financial@1 OR report@2) FILTER VALUE_RANGE 1 \\xe0&@ \\xe04)" },
2173 {
"size:1B..1G",
"VALUE_RANGE 1 \\xa0 \\xe0\\x5c" },
2175 {
"size:10..100K",
"VALUE_RANGE 1 \\xd9 \\xe0&@" },
2177 {
"size:10K..",
"VALUE_GE 1 \\xd9" },
2178 {
"size:..2M",
"VALUE_LE 1 \\xe08" },
2180 {
"size:10B..100",
"Unknown range operation" },
2181 {
"size:10..100",
"Unknown range operation" },
2182 {
"size:..100",
"Unknown range operation" },
2183 {
"size:10..",
"Unknown range operation" },
2193 string expect, parsed;
2197 expect =
"parse error";
2201 expect = string(
"Query(") + expect +
')';
2207 parsed =
"Unknown exception!";
2209 tout <<
"Query: " <<
p->query <<
'\n';
2215 {
"12/03/99..12/04/01",
"VALUE_RANGE 1 19991203 20011204" },
2216 {
"03-12-99..04-14-01",
"VALUE_RANGE 1 19990312 20010414" },
2217 {
"01/30/60..02/02/59",
"VALUE_RANGE 1 19600130 20590202" },
2218 {
"1999-03-12..2001-04-14",
"VALUE_RANGE 1 19990312 20010414" },
2219 {
"12/03/99..02",
"Unknown range operation" },
2220 {
"1999-03-12..2001",
"Unknown range operation" },
2230 string expect, parsed;
2234 expect =
"parse error";
2238 expect = string(
"Query(") + expect +
')';
2244 parsed =
"Unknown exception!";
2246 tout <<
"Query: " <<
p->query <<
'\n';
2252 {
"created:12/03/99..12/04/01",
"VALUE_RANGE 1 19991203 20011204" },
2253 {
"modified:03-12-99..04-14-01",
"VALUE_RANGE 2 19990312 20010414" },
2254 {
"accessed:01/30/70..02/02/69",
"VALUE_RANGE 3 19700130 20690202" },
2256 {
"deleted:12/03/99..12/04/01",
"VALUE_RANGE 4 19990312 20010412" },
2257 {
"1999-03-12..2001-04-14",
"Unknown range operation" },
2258 {
"12/03/99..created:12/04/01",
"Unknown range operation" },
2259 {
"12/03/99created:..12/04/01",
"Unknown range operation" },
2260 {
"12/03/99..12/04/01created:",
"Unknown range operation" },
2261 {
"12/03/99..02",
"Unknown range operation" },
2262 {
"1999-03-12..2001",
"Unknown range operation" },
2282 string expect, parsed;
2286 expect =
"parse error";
2290 expect = string(
"Query(") + expect +
')';
2296 parsed =
"Unknown exception!";
2298 tout <<
"Query: " <<
p->query <<
'\n';
2304 {
"tag:bar..foo",
"VALUE_RANGE 1 bar foo" },
2305 {
"bar..foo",
"VALUE_RANGE 0 bar foo" },
2317 string expect, parsed;
2321 expect =
"parse error";
2325 expect = string(
"Query(") + expect +
')';
2331 parsed =
"Unknown exception!";
2333 tout <<
"Query: " <<
p->query <<
'\n';
2339 {
"mars author:Asimov..Bradbury",
"(mars@1 FILTER VALUE_RANGE 4 asimov bradbury)" },
2347 const std::string& e)
override
2361 string expect, parsed;
2365 expect =
"parse error";
2369 expect = string(
"Query(") + expect +
')';
2375 parsed =
"Unknown exception!";
2377 tout <<
"Query: " <<
p->query <<
'\n';
2395 for (string::const_iterator i =
str.begin(); i !=
str.end(); ++i)
2402 {
"title:test",
"Stest" },
2403 {
"subject:test",
"Stest" },
2404 {
"title:all",
"<alldocuments>" },
2405 {
"host:Xapian.org",
"0 * Hxapian.org" },
2406 {
"host2:Xapian.org",
"0 * Hxapian.org" },
2407 {
"host:*",
"0 * <alldocuments>" },
2408 {
"host:\"Space Station.Example.Org\"",
"0 * Hspace station.example.org" },
2422 string expect, parsed;
2426 expect =
"parse error";
2430 expect = string(
"Query(") + expect +
')';
2436 parsed =
"Unknown exception!";
2438 tout <<
"Query: " <<
p->query <<
'\n';
2449 if (
str ==
"this week")
2451 if (
str ==
"this month")
2453 if (
str ==
"this year")
2455 if (
str ==
"this decade")
2457 if (
str ==
"this century")
2464 {
"date:\"this week\"",
"VALUE_GE 1 20120723" },
2465 {
"date:23/7/2012..25/7/2012",
"VALUE_RANGE 1 20120723 20120725" },
2477 string expect, parsed;
2481 expect =
"parse error";
2485 expect = string(
"Query(") + expect +
')';
2491 parsed =
"Unknown exception!";
2493 tout <<
"Query: " <<
p->query <<
'\n';
2500 static const char *
const stopwords[] = {
"a",
"an",
"the" };
2528 {
"doucment search",
"document search" },
2529 {
"doucment seeacrh",
"document search" },
2530 {
"docment seeacrh test",
"document search test" },
2531 {
"\"paragahp pineapple\"",
"\"paragraph pineapple\"" },
2532 {
"\"paragahp pineapple\"",
"\"paragraph pineapple\"" },
2533 {
"test S.E.A.R.C.",
"" },
2534 {
"this AND that",
"" },
2535 {
"documento",
"document" },
2536 {
"documento-documento",
"document-document" },
2537 {
"documento-searcho",
"document-search" },
2538 {
"test saerch",
"test search" },
2539 {
"paragraf search",
"paragraph search" },
2564 qp.set_database(db);
2568 q = qp.parse_query(
p->query,
2571 tout <<
"Query: " <<
p->query <<
'\n';
2593 db.add_database(db2);
2604 tout <<
"Query: " <<
p->query <<
'\n';
2619 {
"doucment",
"document" },
2620 {
"doucment*",
"" },
2621 {
"doucment* seearch",
"doucment* search" },
2622 {
"doucment* search",
"" },
2641 tout <<
"Query: " <<
p->query <<
'\n';
2650 tout <<
"Query: " <<
p->query <<
'\n';
2657 {
"doucment ",
"document " },
2659 {
"documen ",
"document " },
2660 {
"seearch documen",
"search documen" },
2661 {
"search documen",
"" },
2678 tout <<
"Query: " <<
p->query <<
'\n';
2684 {
"searching",
"(Zsearch@1 SYNONYM Zfind@1 SYNONYM Zlocate@1)" },
2685 {
"search",
"(Zsearch@1 SYNONYM find@1)" },
2686 {
"Search",
"(search@1 SYNONYM find@1)" },
2687 {
"Searching",
"searching@1" },
2688 {
"searching OR terms",
"((Zsearch@1 SYNONYM Zfind@1 SYNONYM Zlocate@1) OR Zterm@2)" },
2689 {
"search OR terms",
"((Zsearch@1 SYNONYM find@1) OR Zterm@2)" },
2690 {
"search +terms",
"(Zterm@2 AND_MAYBE (Zsearch@1 SYNONYM find@1))" },
2691 {
"search -terms",
"((Zsearch@1 SYNONYM find@1) AND_NOT Zterm@2)" },
2692 {
"+search terms",
"((Zsearch@1 SYNONYM find@1) AND_MAYBE Zterm@2)" },
2693 {
"-search terms",
"(Zterm@2 AND_NOT (Zsearch@1 SYNONYM find@1))" },
2694 {
"search terms",
"((Zsearch@1 SYNONYM find@1) OR Zterm@2)" },
2696 {
"\"search terms\"",
"(search@1 PHRASE 2 terms@2)" },
2699 {
"regression test",
"(Zregress@1 OR Ztest@2)" },
2720 qp.set_database(db);
2723 string expect =
"Query(";
2724 expect +=
p->expect;
2727 q = qp.parse_query(
p->query, qp.FLAG_AUTO_SYNONYMS|qp.FLAG_DEFAULT);
2728 tout <<
"Query: " <<
p->query <<
'\n';
2734 {
"sun OR tan OR cream",
"(Zsun@1 OR Ztan@2 OR Zcream@3)" },
2735 {
"sun tan",
"((Zsun@1 OR Ztan@2) SYNONYM bathe@1)" },
2736 {
"sun tan cream",
"((Zsun@1 OR Ztan@2 OR Zcream@3) SYNONYM lotion@1)" },
2737 {
"beach sun tan holiday",
"(Zbeach@1 OR ((Zsun@2 OR Ztan@3) SYNONYM bathe@2) OR Zholiday@4)" },
2738 {
"sun tan sun tan cream",
"(((Zsun@1 OR Ztan@2) SYNONYM bathe@1) OR ((Zsun@3 OR Ztan@4 OR Zcream@5) SYNONYM lotion@3))" },
2739 {
"single",
"(Zsingl@1 SYNONYM record@1)" },
2757 qp.set_database(db);
2760 string expect =
"Query(";
2761 expect +=
p->expect;
2764 q = qp.parse_query(
p->query,
2767 tout <<
"Query: " <<
p->query <<
'\n';
2773 {
"searching",
"Zsearch@1" },
2774 {
"~searching",
"(Zsearch@1 SYNONYM Zfind@1 SYNONYM Zlocate@1)" },
2775 {
"~search",
"(Zsearch@1 SYNONYM find@1)" },
2776 {
"~Search",
"(search@1 SYNONYM find@1)" },
2777 {
"~Searching",
"searching@1" },
2778 {
"~searching OR terms",
"((Zsearch@1 SYNONYM Zfind@1 SYNONYM Zlocate@1) OR Zterm@2)" },
2779 {
"~search OR terms",
"((Zsearch@1 SYNONYM find@1) OR Zterm@2)" },
2780 {
"~search +terms",
"(Zterm@2 AND_MAYBE (Zsearch@1 SYNONYM find@1))" },
2781 {
"~search -terms",
"((Zsearch@1 SYNONYM find@1) AND_NOT Zterm@2)" },
2782 {
"+~search terms",
"((Zsearch@1 SYNONYM find@1) AND_MAYBE Zterm@2)" },
2783 {
"-~search terms",
"(Zterm@2 AND_NOT (Zsearch@1 SYNONYM find@1))" },
2784 {
"~search terms",
"((Zsearch@1 SYNONYM find@1) OR Zterm@2)" },
2785 {
"~foo:search",
"(ZXFOOsearch@1 SYNONYM prefixated@1)" },
2786 {
"~\"search terms\"",
"(SYNONYM (search@1 PHRASE 2 terms@2))" },
2787 {
"~\" search terms \"",
"(SYNONYM (search@1 PHRASE 2 terms@2))" },
2788 {
"~\" \tsearch \t terms \t\"",
"(SYNONYM (search@1 PHRASE 2 terms@2))" },
2789 {
"~foo:\"search terms\"",
"(SYNONYM (XFOOsearch@1 PHRASE 2 XFOOterms@2))" },
2790 {
"~\"two words\"",
"((two@1 PHRASE 2 words@2) SYNONYM biverbal@1)" },
2791 {
"~\" two words \"",
"((two@1 PHRASE 2 words@2) SYNONYM biverbal@1)" },
2792 {
"~foo:\"two words\"",
"((XFOOtwo@1 PHRASE 2 XFOOwords@2) SYNONYM pair@1)" },
2817 qp.set_database(db);
2818 qp.add_prefix(
"foo",
"XFOO");
2821 string expect =
"Query(";
2822 expect +=
p->expect;
2825 q = qp.parse_query(
p->query,
2830 tout <<
"Query: " <<
p->query <<
'\n';
2836 {
"\"chemical engineers\"",
"(chemic@1 PHRASE 2 engin@2)" },
2837 {
"chemical NEAR engineers",
"(chemic@1 NEAR 11 engin@2)" },
2838 {
"chemical engineers",
"(chemic@1 OR engin@2)" },
2839 {
"title:(chemical engineers)",
"(XTchemic@1 OR XTengin@2)" },
2849 string expect, parsed;
2853 expect =
"parse error";
2857 expect = string(
"Query(") + expect +
')';
2863 parsed =
"Unknown exception!";
2865 tout <<
"Query: " <<
p->query <<
'\n';
2871 {
"\"chemical engineers\"",
"(Zchemic@1 PHRASE 2 Zengin@2)" },
2872 {
"chemical NEAR engineers",
"(Zchemic@1 NEAR 11 Zengin@2)" },
2873 {
"chemical engineers",
"(Zchemic@1 OR Zengin@2)" },
2874 {
"title:(chemical engineers)",
"(ZXTchemic@1 OR ZXTengin@2)" },
2884 string expect, parsed;
2888 expect =
"parse error";
2892 expect = string(
"Query(") + expect +
')';
2898 parsed =
"Unknown exception!";
2900 tout <<
"Query: " <<
p->query <<
'\n';
2907 int repetitions,
unsigned flags)
2912 std::vector<Xapian::Query> qs;
2913 qs.reserve(repetitions);
2914 for (
int i = 0; i != repetitions; ++i) {
2917 if (repetitions > 1) {
2930 if (time1 != 0.0)
break;
2934 unsigned n_new = n * 10;
2936 SKIP_TEST(
"Can't count enough repetitions to be able to time test");
2943 q_n.reserve(q.size() * n);
2944 for (
unsigned i = n; i != 0; --i) {
2950 tout <<
"small=" << time1 <<
"s, large=" << time2 <<
"s\n";
2967 const unsigned repetitions = 5000;
2971 for (
int j = 50; j != 0; --j) {
2974 syn.resize(syn.size() - 1);
2998 {
"simple-example",
"(simple@1 PHRASE 2 example@2)" },
2999 {
"stock -cooking",
"(Zstock@1 AND_NOT Zcook@2)" },
3003 {
"foo bar",
"(foo@1 NEAR 11 bar@2)" },
3004 {
"foo bar baz",
"(foo@1 NEAR 12 bar@2 NEAR 12 baz@3)" },
3005 {
"gtk+ -gnome",
"(Zgtk+@1 AND_NOT Zgnome@2)" },
3006 {
"c++ -d--",
"(Zc++@1 AND_NOT Zd@2)" },
3007 {
"\"c++ library\"",
"(c++@1 PHRASE 2 library@2)" },
3008 {
"author:orwell animal farm",
"(Aorwell@1 NEAR 12 animal@2 NEAR 12 farm@3)" },
3009 {
"author:Orwell Animal Farm",
"(Aorwell@1 NEAR 12 animal@2 NEAR 12 farm@3)" },
3010 {
"beer NOT \"orange juice\"",
"(Zbeer@1 AND_NOT (orange@2 PHRASE 2 juice@3))" },
3011 {
"beer AND NOT lager",
"(Zbeer@1 AND_NOT Zlager@2)" },
3012 {
"A OR B NOT C",
"(a@1 OR (b@2 AND_NOT c@3))" },
3013 {
"A OR B AND NOT C",
"(a@1 OR (b@2 AND_NOT c@3))" },
3014 {
"A OR B XOR C",
"(a@1 OR (b@2 XOR c@3))" },
3015 {
"A XOR B NOT C",
"(a@1 XOR (b@2 AND_NOT c@3))" },
3016 {
"one AND two",
"(Zone@1 AND Ztwo@2)" },
3017 {
"NOT windows",
"Syntax: <expression> NOT <expression>" },
3018 {
"a AND (NOT b)",
"Syntax: <expression> NOT <expression>" },
3019 {
"AND NOT windows",
"Syntax: <expression> AND NOT <expression>" },
3020 {
"gordian NOT",
"Syntax: <expression> NOT <expression>" },
3021 {
"gordian AND NOT",
"Syntax: <expression> AND NOT <expression>" },
3022 {
"foo OR (something AND)",
"Syntax: <expression> AND <expression>" },
3023 {
"OR foo",
"Syntax: <expression> OR <expression>" },
3024 {
"XOR",
"Syntax: <expression> XOR <expression>" },
3025 {
"hard\xa0space",
"(hard@1 NEAR 11 space@2)" },
3047 string expect, parsed;
3051 expect =
"parse error";
3055 expect = string(
"Query(") + expect +
')';
3061 parsed =
"Unknown exception!";
3063 tout <<
"Query: " <<
p->query <<
'\n';
3069 {
"simple-example",
"(simple@1 PHRASE 2 example@2)" },
3070 {
"stock -cooking",
"(Zstock@1 AND_NOT Zcook@2)" },
3074 {
"foo bar",
"(foo@1 PHRASE 11 bar@2)" },
3075 {
"foo bar baz",
"(foo@1 PHRASE 12 bar@2 PHRASE 12 baz@3)" },
3076 {
"gtk+ -gnome",
"(Zgtk+@1 AND_NOT Zgnome@2)" },
3077 {
"c++ -d--",
"(Zc++@1 AND_NOT Zd@2)" },
3078 {
"\"c++ library\"",
"(c++@1 PHRASE 2 library@2)" },
3079 {
"author:orwell animal farm",
"(Aorwell@1 PHRASE 12 animal@2 PHRASE 12 farm@3)" },
3080 {
"author:Orwell Animal Farm",
"(Aorwell@1 PHRASE 12 animal@2 PHRASE 12 farm@3)" },
3081 {
"beer NOT \"orange juice\"",
"(Zbeer@1 AND_NOT (orange@2 PHRASE 2 juice@3))" },
3082 {
"beer AND NOT lager",
"(Zbeer@1 AND_NOT Zlager@2)" },
3083 {
"A OR B NOT C",
"(a@1 OR (b@2 AND_NOT c@3))" },
3084 {
"A OR B AND NOT C",
"(a@1 OR (b@2 AND_NOT c@3))" },
3085 {
"A OR B XOR C",
"(a@1 OR (b@2 XOR c@3))" },
3086 {
"A XOR B NOT C",
"(a@1 XOR (b@2 AND_NOT c@3))" },
3087 {
"one AND two",
"(Zone@1 AND Ztwo@2)" },
3088 {
"NOT windows",
"Syntax: <expression> NOT <expression>" },
3089 {
"a AND (NOT b)",
"Syntax: <expression> NOT <expression>" },
3090 {
"AND NOT windows",
"Syntax: <expression> AND NOT <expression>" },
3091 {
"gordian NOT",
"Syntax: <expression> NOT <expression>" },
3092 {
"gordian AND NOT",
"Syntax: <expression> AND NOT <expression>" },
3093 {
"foo OR (something AND)",
"Syntax: <expression> AND <expression>" },
3094 {
"OR foo",
"Syntax: <expression> OR <expression>" },
3095 {
"XOR",
"Syntax: <expression> XOR <expression>" },
3096 {
"hard\xa0space",
"(hard@1 PHRASE 11 space@2)" },
3122 string expect, parsed;
3126 expect =
"parse error";
3130 expect = string(
"Query(") + expect +
')';
3136 parsed =
"Unknown exception!";
3138 tout <<
"Query: " <<
p->query <<
'\n';
3144 {
"this is a test",
"test@4" },
3145 {
"test*",
"WILDCARD SYNONYM test" },
3146 {
"a test*",
"WILDCARD SYNONYM test" },
3147 {
"is a test*",
"WILDCARD SYNONYM test" },
3148 {
"this is a test*",
"WILDCARD SYNONYM test" },
3149 {
"this is a us* test*",
"(WILDCARD SYNONYM us OR WILDCARD SYNONYM test)" },
3150 {
"this is a user test*",
"(user@4 OR WILDCARD SYNONYM test)" },
3155 {
"this is a test",
"test@4" },
3156 {
"test*",
"WILDCARD SYNONYM test" },
3157 {
"a test*",
"WILDCARD SYNONYM test" },
3159 {
"is a test*",
"WILDCARD SYNONYM test" },
3161 {
"this is a test*",
"WILDCARD SYNONYM test" },
3163 {
"this is a us* test*",
"(WILDCARD SYNONYM us AND WILDCARD SYNONYM test)" },
3164 {
"this is a user test*",
"(user@4 AND WILDCARD SYNONYM test)" },
3182 stopper.
add(
"this");
3193 for (
int i = 1; i <= 2; ++i) {
3194 for ( ;
p->query; ++
p) {
3195 string expect, parsed;
3199 expect =
"parse error";
3203 expect = string(
"Query(") + expect +
')';
3209 parsed =
"Unknown exception!";
3211 tout <<
"Query: " <<
p->query <<
'\n';
3251 "Query((a@1 AND b@2 AND c@3))" },
3253 "Query((a@1 OR b@2 OR c@3))" },
3255 "Query((a@1 PHRASE 12 b@2 PHRASE 12 c@3))" },
3257 "Query((a@1 NEAR 12 b@2 NEAR 12 c@3))" },
3259 "Query((a@1 ELITE_SET 10 b@2 ELITE_SET 10 c@3))" },
3261 "Query((a@1 SYNONYM b@2 SYNONYM c@3))" },
3263 for (
auto& test :
tests) {
3264 tout << test.op <<
'\n';
3300 auto q = qp.parse_query(
"~baa ~baa", qp.FLAG_SYNONYM);
3308 static const test
tests[] = {
3309 {
"no pos anyway",
"(no@1 OR pos@2 OR anyway@3)" },
3310 {
"w ADJ x",
"(w@1 AND x@2)" },
3311 {
"\"phrase q\" OR A NEAR/4 B",
"((phrase@1 AND q@2) OR (a@3 AND b@4))" },
3313 {
"a-b NEAR x",
"((a@1 AND b@2) OR (near@3 OR x@4))" },
3317 for (
const test&
p :
tests) {
3318 string expect, parsed;
3322 expect =
"parse error";
3326 expect = string(
"Query(") + expect +
')';
3332 parsed =
"Unknown exception!";
3334 tout <<
"Query: " <<
p.query <<
'\n';
3340 static const test
tests[] = {
3342 {
"Tony tony",
"(tony@1 OR tony@2)" },
3343 {
nullptr,
"FLAG_NO_PROPER_NOUN_HEURISTIC" },
3344 {
"Tony tony",
"(tony@1 OR tony@2)" },
3347 {
nullptr,
"FLAG_DEFAULT" },
3348 {
nullptr,
"stem=english" },
3349 {
"Tony Keating",
"(tony@1 OR keating@2)" },
3351 {
nullptr,
"FLAG_NO_PROPER_NOUN_HEURISTIC" },
3352 {
"Tony Keating",
"(Ztoni@1 OR Zkeat@2)" },
3356 {
"a-b NEAR Tony",
"((a@1 PHRASE 2 b@2) OR (Znear@3 OR Ztoni@4))" },
3359 {
nullptr,
"FLAG_DEFAULT" },
3360 {
nullptr,
"stem=german" },
3361 {
"die Berge",
"(Zdie@1 OR Zberg@2)" },
3362 {
nullptr,
"FLAG_NO_PROPER_NOUN_HEURISTIC" },
3363 {
"die Berge",
"(Zdie@1 OR Zberg@2)" },
3366 {
nullptr,
"FLAG_DEFAULT" },
3367 {
nullptr,
"stem=turkish" },
3368 {
"Türkiye'dir",
"Ztürki@1" },
3369 {
nullptr,
"FLAG_NO_PROPER_NOUN_HEURISTIC" },
3370 {
"Türkiye'dir",
"Ztürki@1" },
3375 for (
const test&
p :
tests) {
3377 if (strcmp(
p.expect,
"FLAG_NO_PROPER_NOUN_HEURISTIC") == 0) {
3379 }
else if (strcmp(
p.expect,
"FLAG_DEFAULT") == 0) {
3381 }
else if (memcmp(
p.expect,
"stem=", 5) == 0) {
3384 FAIL_TEST(
"Unexpected test directive: " <<
p.expect);
3388 string expect, parsed;
3392 expect =
"parse error";
3396 expect = string(
"Query(") + expect +
')';
3402 parsed =
"Unknown exception!";
3404 tout <<
"Query: " <<
p.query <<
'\n';
3415 static const char*
const stopwords[] = {
"le",
"la",
"les",
"un",
"une" };
3426 "Query((tout@1 PHRASE 3 mond@3))");
static Xapian::Query query(Xapian::Query::op op, const string &t1=string(), const string &t2=string(), const string &t3=string(), const string &t4=string(), const string &t5=string(), const string &t6=string(), const string &t7=string(), const string &t8=string(), const string &t9=string(), const string &t10=string())
static const test test_mispelled_queries[]
static const test test_stem_all_queries[]
DEFINE_TESTCASE(queryparser1, !backend)
static const test test_pure_not_queries[]
static const test test_unitrange1_queries[]
static void test_qp_flag_fuzzy3_helper(const Xapian::Database &db, Xapian::termcount max_expansion, const string &query_string)
static void gen_simple_spelling_db(Xapian::WritableDatabase &db, const string &)
static const test test_and_queries[]
static void test_qp_flag_wildcard3_helper(const Xapian::Database &db, Xapian::termcount max_expansion, const string &query_string)
static const test test_value_daterange2_queries[]
static const test test_multi_synonym_queries[]
static const test test_value_range4_queries[]
static const test test_value_stringrange1_queries[]
static const test test_value_customrange1_queries[]
static const test test_stopword_group_or_queries[]
static const test test_stop_queries[]
static const test test_stopword_group_and_queries[]
static const test test_value_range1_queries[]
static const test test_fieldproc2_queries[]
static const test test_stem_all_z_queries[]
static const test test_or_queries[]
static double time_query_parse(const Xapian::Database &db, const string &q, int repetitions, unsigned flags)
static const test test_value_range2_queries[]
static const test test_synonym_op_queries[]
static const test test_phrase_queries[]
static void gen_qp_range3_db(Xapian::WritableDatabase &db, const string &)
static void qp_scale1_helper(const Xapian::Database &db, const string &q, unsigned n, unsigned flags)
static const test test_mispelled_wildcard_queries[]
static const test test_value_daterange1_queries[]
static const test test_fieldproc1_queries[]
static const test test_mispelled_partial_queries[]
static const test test_synonym_queries[]
static const test test_near_queries[]
static void gen_qp_flag_partial1_db(Xapian::WritableDatabase &db, const string &)
static const testcase testcases[]
Xapian::WritableDatabase get_writable_database(const string &dbname)
Xapian::Database get_database(const string &dbname)
test functionality of the Xapian API
double get_time() const
Return elapsed CPU time since object creation in seconds.
Xapian::Query operator()(const std::string &str) override
Convert a field-prefixed string to a Query object.
Xapian::Query operator()(const std::string &str) override
Convert a field-prefixed string to a Query object.
Xapian::Query operator()(const std::string &str) override
Convert a field-prefixed string to a Query object.
An indexed database of documents.
void add_database(const Database &other)
Add shards from another Database.
Class representing a document.
void add_term(std::string_view term, Xapian::termcount wdf_inc=1)
Add a term to this document.
void add_value(Xapian::valueno slot, std::string_view value)
Add a value to a slot in this document.
MSet get_mset(doccount first, doccount maxitems, doccount checkatleast=0, const RSet *rset=NULL, const MatchDecider *mdecider=NULL) const
Run the query.
void set_query(const Query &query, termcount query_length=0)
Set the query.
All exceptions thrown by Xapian are subclasses of Xapian::Error.
const std::string & get_msg() const noexcept
Message giving details of the error, intended for human consumption.
std::string get_description() const
Return a string describing this object.
Base class for field processors.
InvalidArgumentError indicates an invalid parameter value was passed to the API.
InvalidOperationError indicates the API was used in an invalid way.
Class representing a list of search results.
Xapian::doccount size() const
Return number of items in this MSet object.
Indicates a query string can't be parsed.
Build a Xapian::Query object from a user query string.
void set_database(const Database &db)
Specify the database being searched.
void add_rangeprocessor(Xapian::RangeProcessor *range_proc, const std::string *grouping=NULL)
Register a RangeProcessor.
void set_stemmer(const Xapian::Stem &stemmer)
Set the stemmer.
TermIterator unstem_end(std::string_view) const noexcept
End iterator over unstemmed forms of the given stemmed query term.
void set_min_wildcard_prefix(unsigned min_prefix_len, unsigned flags=FLAG_WILDCARD|FLAG_PARTIAL)
Specify minimum length for fixed initial portion in wildcard patterns.
void set_stemming_strategy(stem_strategy strategy)
Set the stemming strategy.
void add_boolean_prefix(std::string_view field, std::string_view prefix, const std::string *grouping=NULL)
Add a boolean term prefix allowing the user to restrict a search with a boolean filter specified in t...
Query::op get_default_op() const
Get the current default operator.
void set_max_expansion(Xapian::termcount max_expansion, int max_type=Xapian::Query::WILDCARD_LIMIT_ERROR, unsigned flags=FLAG_WILDCARD|FLAG_PARTIAL|FLAG_FUZZY)
Specify the maximum expansion of a wildcard and/or partial and/or fuzzy term.
void set_stopper_strategy(stop_strategy strategy)
Set the stopper strategy.
void add_prefix(std::string_view field, std::string_view prefix)
Add a free-text field term prefix.
TermIterator stoplist_end() const noexcept
End iterator over terms omitted from the query as stopwords.
TermIterator unstem_begin(std::string_view term) const
Begin iterator over unstemmed forms of the given stemmed query term.
Query parse_query(std::string_view query_string, unsigned flags=FLAG_DEFAULT, std::string_view default_prefix={})
Parse a query.
void set_default_op(Query::op default_op)
Set the default operator.
void set_stopper(const Stopper *stop=NULL)
Set the stopper.
std::string get_corrected_query_string() const
Get the spelling-corrected query string.
@ FLAG_LOVEHATE
Support + and -.
@ FLAG_AUTO_MULTIWORD_SYNONYMS
Enable automatic use of synonyms for single terms and groups of terms.
@ FLAG_NGRAMS
Generate n-grams for scripts without explicit word breaks.
@ FLAG_ACCUMULATE
Accumulate unstem and stoplist results.
@ FLAG_DEFAULT
The default flags.
@ FLAG_WILDCARD_GLOB
Enable glob-style wildcarding.
@ FLAG_NO_PROPER_NOUN_HEURISTIC
Turn off special handling of capitalised words.
@ FLAG_FUZZY
Support fuzzy matching.
@ FLAG_WORD_BREAKS
Find word breaks for text in scripts without explicit word breaks.
@ FLAG_WILDCARD
Support wildcards.
@ FLAG_SYNONYM
Enable synonym operator '~'.
@ FLAG_SPELLING_CORRECTION
Enable spelling correction.
@ FLAG_WILDCARD_MULTI
Support extended wildcard '*'.
@ FLAG_WILDCARD_SINGLE
Support extended wildcard '?'.
@ FLAG_NO_POSITIONS
Produce a query which doesn't use positional information.
@ FLAG_PHRASE
Support quoted phrases.
@ FLAG_PARTIAL
Enable partial matching.
@ FLAG_BOOLEAN
Support AND, OR, etc and bracketed subexpressions.
TermIterator stoplist_begin() const
Begin iterator over terms omitted from the query as stopwords.
Class representing a query.
std::string get_description() const
Return a string describing this object.
@ OP_SCALE_WEIGHT
Scale the weight contributed by a subquery.
@ OP_VALUE_RANGE
Match only documents where a value slot is within a given range.
@ OP_XOR
Match documents which an odd number of subqueries match.
@ OP_AND_MAYBE
Match the first subquery taking extra weight from other subqueries.
@ OP_NEAR
Match only documents where all subqueries match near each other.
@ OP_ELITE_SET
Pick the best N subqueries and combine with OP_OR.
@ OP_AND
Match only documents which all subqueries match.
@ OP_OR
Match documents which at least one subquery matches.
@ OP_FILTER
Match like OP_AND but only taking weight from the first subquery.
@ OP_PHRASE
Match only documents where all subqueries match near and in order.
@ OP_VALUE_LE
Match only documents where a value slot is <= a given value.
@ OP_SYNONYM
Match like OP_OR but weighting as if a single term.
@ OP_AND_NOT
Match documents which the first subquery matches but no others do.
@ OP_VALUE_GE
Match only documents where a value slot is >= a given value.
static const Xapian::Query MatchAll
A query matching all documents.
Base class for range processors.
virtual Xapian::Query operator()(const std::string &begin, const std::string &end)
Check for a valid range of this type.
Simple implementation of Stopper class - this will suit most users.
void add(const std::string &word)
Add a single stop word.
Class representing a stemming algorithm.
Class for iterating over a list of terms.
UnimplementedError indicates an attempt to use an unimplemented feature.
Handle a byte unit range.
WildcardError indicates an error expanding a wildcarded query.
This class provides read/write access to a database.
void add_synonym(std::string_view term, std::string_view synonym) const
Add a synonym for a term.
void add_spelling(std::string_view word, Xapian::termcount freqinc=1) const
Add a word to the spelling dictionary.
void commit()
Commit pending modifications.
Xapian::docid add_document(const Xapian::Document &doc)
Add a document to the database.
static const test_desc tests[]
The lists of tests to perform.
string str(int value)
Convert int to std::string.
unsigned tolower(unsigned ch)
Convert a Unicode character to lowercase.
The Xapian namespace contains public interfaces for the Xapian library.
std::string sortable_serialise(double value)
Convert a floating point number to a string, preserving sort order.
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms.
static Xapian::Stem stemmer
Convert types to std::string.
Various handy string-related helpers.
Xapian::Query operator()(const std::string &b, const std::string &e) override
Check for a valid range of this type.
#define TEST_REL(A, REL, B)
Test a relation holds,e.g. TEST_REL(a,>,b);.
std::ostringstream tout
The debug printing stream.
a generic test suite engine
#define FAIL_TEST(MSG)
Fail the current testcase with message MSG.
#define SKIP_TEST(MSG)
Skip the current testcase with message MSG.
#define TEST_EQUAL(a, b)
Test for equality of two things.
#define TEST_STRINGS_EQUAL(a, b)
Test for equality of two strings.
#define TEST(a)
Test a condition, without an additional explanation for failure.
Xapian-specific test helper functions and macros.
#define TEST_EXCEPTION(TYPE, CODE)
Check that CODE throws exactly Xapian exception TYPE.
#define TEST_MSET_SIZE(M, S)
Check MSet M has size S.
Public interfaces for the Xapian library.