1<?php 2 3/* ---------------------------------------------------------------------------- 4 * This file was automatically generated by SWIG (http://www.swig.org). 5 * Version 3.0.13 6 * 7 * This file is not intended to be easily readable and contains a number of 8 * coding conventions designed to improve portability and efficiency. Do not make 9 * changes to this file unless you know what you are doing--modify the SWIG 10 * interface file instead. 11 * ----------------------------------------------------------------------------- */ 12 13// Try to load our extension if it's not already loaded. 14if (!extension_loaded('xapian')) { 15 if (strtolower(substr(PHP_OS, 0, 3)) === 'win') { 16 if (!dl('php_xapian.dll')) return; 17 } else { 18 // PHP_SHLIB_SUFFIX gives 'dylib' on MacOS X but modules are 'so'. 19 if (PHP_SHLIB_SUFFIX === 'dylib') { 20 if (!dl('xapian.so')) return; 21 } else { 22 if (!dl('xapian.'.PHP_SHLIB_SUFFIX)) return; 23 } 24 } 25} 26 27 28 29abstract class Xapian { 30 static function version_string() { 31 return version_string(); 32 } 33 34 static function major_version() { 35 return major_version(); 36 } 37 38 static function minor_version() { 39 return minor_version(); 40 } 41 42 static function revision() { 43 return revision(); 44 } 45 46 const BAD_VALUENO = BAD_VALUENO; 47 48 const DB_CREATE = DB_CREATE; 49 50 const DB_CREATE_OR_OPEN = DB_CREATE_OR_OPEN; 51 52 const DB_CREATE_OR_OVERWRITE = DB_CREATE_OR_OVERWRITE; 53 54 const DB_OPEN = DB_OPEN; 55 56 const DB_NO_SYNC = DB_NO_SYNC; 57 58 const DB_FULL_SYNC = DB_FULL_SYNC; 59 60 const DB_DANGEROUS = DB_DANGEROUS; 61 62 const DB_NO_TERMLIST = DB_NO_TERMLIST; 63 64 const DB_BACKEND_CHERT = DB_BACKEND_CHERT; 65 66 const DB_BACKEND_GLASS = DB_BACKEND_GLASS; 67 68 const DB_BACKEND_INMEMORY = DB_BACKEND_INMEMORY; 69 70 const DB_BACKEND_STUB = DB_BACKEND_STUB; 71 72 const DB_RETRY_LOCK = DB_RETRY_LOCK; 73 74 const DBCHECK_SHORT_TREE = DBCHECK_SHORT_TREE; 75 76 const DBCHECK_FULL_TREE = DBCHECK_FULL_TREE; 77 78 const DBCHECK_SHOW_FREELIST = DBCHECK_SHOW_FREELIST; 79 80 const DBCHECK_SHOW_STATS = DBCHECK_SHOW_STATS; 81 82 const DBCHECK_FIX = DBCHECK_FIX; 83 84 const DBCOMPACT_MULTIPASS = DBCOMPACT_MULTIPASS; 85 86 const DBCOMPACT_NO_RENUMBER = DBCOMPACT_NO_RENUMBER; 87 88 const DBCOMPACT_SINGLE_FILE = DBCOMPACT_SINGLE_FILE; 89 90 const DOC_ASSUME_VALID = DOC_ASSUME_VALID; 91 92 const RP_SUFFIX = RP_SUFFIX; 93 94 const RP_REPEATED = RP_REPEATED; 95 96 const RP_DATE_PREFER_MDY = RP_DATE_PREFER_MDY; 97 98 static function sortable_serialise($value) { 99 return sortable_serialise($value); 100 } 101 102 static function sortable_unserialise($serialised) { 103 return sortable_unserialise($serialised); 104 } 105 106 static function miles_to_metres($miles) { 107 return miles_to_metres($miles); 108 } 109 110 static function metres_to_miles($metres) { 111 return metres_to_miles($metres); 112 } 113 114 static function auto_open_stub($file,$action=null) { 115 switch (func_num_args()) { 116 case 1: $r=auto_open_stub($file); break; 117 default: $r=auto_open_stub($file,$action); 118 } 119 if (!is_resource($r)) return $r; 120 switch (get_resource_type($r)) { 121 case '_p_Xapian__WritableDatabase': return new XapianWritableDatabase($r); 122 default: return new XapianDatabase($r); 123 } 124 } 125 126 static function inmemory_open() { 127 $r=inmemory_open(); 128 if (is_resource($r)) { 129 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 130 if (class_exists($c)) return new $c($r); 131 return new XapianWritableDatabase($r); 132 } 133 return $r; 134 } 135 136 static function chert_open($dir,$action=null,$block_size=0) { 137 switch (func_num_args()) { 138 case 1: $r=chert_open($dir); break; 139 default: $r=chert_open($dir,$action,$block_size); 140 } 141 if (!is_resource($r)) return $r; 142 switch (get_resource_type($r)) { 143 case '_p_Xapian__WritableDatabase': return new XapianWritableDatabase($r); 144 default: return new XapianDatabase($r); 145 } 146 } 147 148 static function remote_open($host_or_program,$port_or_args,$timeout=null,$connect_timeout=null) { 149 switch (func_num_args()) { 150 case 2: $r=remote_open($host_or_program,$port_or_args); break; 151 case 3: $r=remote_open($host_or_program,$port_or_args,$timeout); break; 152 default: $r=remote_open($host_or_program,$port_or_args,$timeout,$connect_timeout); 153 } 154 if (is_resource($r)) { 155 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 156 if (class_exists($c)) return new $c($r); 157 return new XapianDatabase($r); 158 } 159 return $r; 160 } 161 162 static function remote_open_writable($host_or_program,$port_or_args,$timeout=null,$connect_timeout_or_flags=null,$flags=null) { 163 switch (func_num_args()) { 164 case 2: $r=remote_open_writable($host_or_program,$port_or_args); break; 165 case 3: $r=remote_open_writable($host_or_program,$port_or_args,$timeout); break; 166 case 4: $r=remote_open_writable($host_or_program,$port_or_args,$timeout,$connect_timeout_or_flags); break; 167 default: $r=remote_open_writable($host_or_program,$port_or_args,$timeout,$connect_timeout_or_flags,$flags); 168 } 169 if (is_resource($r)) { 170 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 171 if (class_exists($c)) return new $c($r); 172 return new XapianWritableDatabase($r); 173 } 174 return $r; 175 } 176 177 static function BAD_VALUENO_get() { 178 return BAD_VALUENO_get(); 179 } 180} 181 182/* PHP Proxy Classes */ 183class XapianPositionIterator implements Iterator { 184 public $_cPtr=null; 185 protected $_pData=array(); 186 187 function __set($var,$value) { 188 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 189 $this->_pData[$var] = $value; 190 } 191 192 function __get($var) { 193 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 194 return $this->_pData[$var]; 195 } 196 197 function __isset($var) { 198 if ($var === 'thisown') return true; 199 return array_key_exists($var, $this->_pData); 200 } 201 202 function __construct($res=null) { 203 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__PositionIterator') { 204 $this->_cPtr=$res; 205 return; 206 } 207 $this->_cPtr=new_PositionIterator(); 208 } 209 210 function skip_to($termpos) { 211 PositionIterator_skip_to($this->_cPtr,$termpos); 212 } 213 214 function get_description() { 215 return PositionIterator_get_description($this->_cPtr); 216 } 217 218 function key() { 219 $r=PositionIterator_key($this->_cPtr); 220 if (is_resource($r)) { 221 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 222 if (class_exists($c)) return new $c($r); 223 return new XapianPositionIterator($r); 224 } 225 return $r; 226 } 227 228 function current() { 229 return PositionIterator_current($this->_cPtr); 230 } 231 232 function valid() { 233 return PositionIterator_valid($this->_cPtr); 234 } 235 236 function rewind() { 237 PositionIterator_rewind($this->_cPtr); 238 } 239 240 function equals(XapianPositionIterator $o) { 241 return PositionIterator_equals($this->_cPtr,$o); 242 } 243 244 function get_termpos() { 245 return PositionIterator_get_termpos($this->_cPtr); 246 } 247 248 function next() { 249 PositionIterator_next($this->_cPtr); 250 } 251} 252 253class XapianPostingIterator implements Iterator { 254 public $_cPtr=null; 255 protected $_pData=array(); 256 257 function __set($var,$value) { 258 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 259 $this->_pData[$var] = $value; 260 } 261 262 function __get($var) { 263 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 264 return $this->_pData[$var]; 265 } 266 267 function __isset($var) { 268 if ($var === 'thisown') return true; 269 return array_key_exists($var, $this->_pData); 270 } 271 272 function __construct($res=null) { 273 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__PostingIterator') { 274 $this->_cPtr=$res; 275 return; 276 } 277 $this->_cPtr=new_PostingIterator(); 278 } 279 280 function get_wdf() { 281 return PostingIterator_get_wdf($this->_cPtr); 282 } 283 284 function get_doclength() { 285 return PostingIterator_get_doclength($this->_cPtr); 286 } 287 288 function get_unique_terms() { 289 return PostingIterator_get_unique_terms($this->_cPtr); 290 } 291 292 function positionlist_begin() { 293 $r=PostingIterator_positionlist_begin($this->_cPtr); 294 if (is_resource($r)) { 295 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 296 if (class_exists($c)) return new $c($r); 297 return new XapianPositionIterator($r); 298 } 299 return $r; 300 } 301 302 function positionlist_end() { 303 $r=PostingIterator_positionlist_end($this->_cPtr); 304 if (is_resource($r)) { 305 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 306 if (class_exists($c)) return new $c($r); 307 return new XapianPositionIterator($r); 308 } 309 return $r; 310 } 311 312 function skip_to($did) { 313 PostingIterator_skip_to($this->_cPtr,$did); 314 } 315 316 function get_description() { 317 return PostingIterator_get_description($this->_cPtr); 318 } 319 320 function key() { 321 $r=PostingIterator_key($this->_cPtr); 322 if (is_resource($r)) { 323 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 324 if (class_exists($c)) return new $c($r); 325 return new XapianPostingIterator($r); 326 } 327 return $r; 328 } 329 330 function current() { 331 return PostingIterator_current($this->_cPtr); 332 } 333 334 function valid() { 335 return PostingIterator_valid($this->_cPtr); 336 } 337 338 function rewind() { 339 PostingIterator_rewind($this->_cPtr); 340 } 341 342 function equals(XapianPostingIterator $o) { 343 return PostingIterator_equals($this->_cPtr,$o); 344 } 345 346 function get_docid() { 347 return PostingIterator_get_docid($this->_cPtr); 348 } 349 350 function next() { 351 PostingIterator_next($this->_cPtr); 352 } 353} 354 355class XapianTermIterator implements Iterator { 356 public $_cPtr=null; 357 protected $_pData=array(); 358 359 function __set($var,$value) { 360 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 361 $this->_pData[$var] = $value; 362 } 363 364 function __get($var) { 365 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 366 return $this->_pData[$var]; 367 } 368 369 function __isset($var) { 370 if ($var === 'thisown') return true; 371 return array_key_exists($var, $this->_pData); 372 } 373 374 function __construct($res=null) { 375 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__TermIterator') { 376 $this->_cPtr=$res; 377 return; 378 } 379 $this->_cPtr=new_TermIterator(); 380 } 381 382 function get_wdf() { 383 return TermIterator_get_wdf($this->_cPtr); 384 } 385 386 function get_termfreq() { 387 return TermIterator_get_termfreq($this->_cPtr); 388 } 389 390 function positionlist_count() { 391 return TermIterator_positionlist_count($this->_cPtr); 392 } 393 394 function positionlist_begin() { 395 $r=TermIterator_positionlist_begin($this->_cPtr); 396 if (is_resource($r)) { 397 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 398 if (class_exists($c)) return new $c($r); 399 return new XapianPositionIterator($r); 400 } 401 return $r; 402 } 403 404 function positionlist_end() { 405 $r=TermIterator_positionlist_end($this->_cPtr); 406 if (is_resource($r)) { 407 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 408 if (class_exists($c)) return new $c($r); 409 return new XapianPositionIterator($r); 410 } 411 return $r; 412 } 413 414 function skip_to($term) { 415 TermIterator_skip_to($this->_cPtr,$term); 416 } 417 418 function get_description() { 419 return TermIterator_get_description($this->_cPtr); 420 } 421 422 function key() { 423 $r=TermIterator_key($this->_cPtr); 424 if (is_resource($r)) { 425 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 426 if (class_exists($c)) return new $c($r); 427 return new XapianTermIterator($r); 428 } 429 return $r; 430 } 431 432 function current() { 433 return TermIterator_current($this->_cPtr); 434 } 435 436 function valid() { 437 return TermIterator_valid($this->_cPtr); 438 } 439 440 function rewind() { 441 TermIterator_rewind($this->_cPtr); 442 } 443 444 function equals(XapianTermIterator $o) { 445 return TermIterator_equals($this->_cPtr,$o); 446 } 447 448 function get_term() { 449 return TermIterator_get_term($this->_cPtr); 450 } 451 452 function next() { 453 TermIterator_next($this->_cPtr); 454 } 455} 456 457class XapianValueIterator implements Iterator { 458 public $_cPtr=null; 459 protected $_pData=array(); 460 461 function __set($var,$value) { 462 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 463 $this->_pData[$var] = $value; 464 } 465 466 function __get($var) { 467 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 468 return $this->_pData[$var]; 469 } 470 471 function __isset($var) { 472 if ($var === 'thisown') return true; 473 return array_key_exists($var, $this->_pData); 474 } 475 476 function __construct($res=null) { 477 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__ValueIterator') { 478 $this->_cPtr=$res; 479 return; 480 } 481 $this->_cPtr=new_ValueIterator(); 482 } 483 484 function get_docid() { 485 return ValueIterator_get_docid($this->_cPtr); 486 } 487 488 function get_valueno() { 489 return ValueIterator_get_valueno($this->_cPtr); 490 } 491 492 function skip_to($docid_or_slot) { 493 ValueIterator_skip_to($this->_cPtr,$docid_or_slot); 494 } 495 496 function check($docid) { 497 return ValueIterator_check($this->_cPtr,$docid); 498 } 499 500 function get_description() { 501 return ValueIterator_get_description($this->_cPtr); 502 } 503 504 function key() { 505 $r=ValueIterator_key($this->_cPtr); 506 if (is_resource($r)) { 507 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 508 if (class_exists($c)) return new $c($r); 509 return new XapianValueIterator($r); 510 } 511 return $r; 512 } 513 514 function current() { 515 return ValueIterator_current($this->_cPtr); 516 } 517 518 function valid() { 519 return ValueIterator_valid($this->_cPtr); 520 } 521 522 function rewind() { 523 ValueIterator_rewind($this->_cPtr); 524 } 525 526 function equals(XapianValueIterator $o) { 527 return ValueIterator_equals($this->_cPtr,$o); 528 } 529 530 function get_value() { 531 return ValueIterator_get_value($this->_cPtr); 532 } 533 534 function next() { 535 ValueIterator_next($this->_cPtr); 536 } 537} 538 539class XapianDocument { 540 public $_cPtr=null; 541 protected $_pData=array(); 542 543 function __set($var,$value) { 544 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 545 $this->_pData[$var] = $value; 546 } 547 548 function __get($var) { 549 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 550 return $this->_pData[$var]; 551 } 552 553 function __isset($var) { 554 if ($var === 'thisown') return true; 555 return array_key_exists($var, $this->_pData); 556 } 557 558 function __construct($res=null) { 559 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__Document') { 560 $this->_cPtr=$res; 561 return; 562 } 563 $this->_cPtr=new_Document(); 564 } 565 566 function get_value($slot) { 567 return Document_get_value($this->_cPtr,$slot); 568 } 569 570 function add_value($slot,$value) { 571 Document_add_value($this->_cPtr,$slot,$value); 572 } 573 574 function remove_value($slot) { 575 Document_remove_value($this->_cPtr,$slot); 576 } 577 578 function clear_values() { 579 Document_clear_values($this->_cPtr); 580 } 581 582 function get_data() { 583 return Document_get_data($this->_cPtr); 584 } 585 586 function set_data($data) { 587 Document_set_data($this->_cPtr,$data); 588 } 589 590 function add_posting($tname,$tpos,$wdfinc=1) { 591 Document_add_posting($this->_cPtr,$tname,$tpos,$wdfinc); 592 } 593 594 function add_term($tname,$wdfinc=1) { 595 Document_add_term($this->_cPtr,$tname,$wdfinc); 596 } 597 598 function add_boolean_term($term) { 599 Document_add_boolean_term($this->_cPtr,$term); 600 } 601 602 function remove_posting($tname,$tpos,$wdfdec=1) { 603 Document_remove_posting($this->_cPtr,$tname,$tpos,$wdfdec); 604 } 605 606 function remove_postings($term,$term_pos_first,$term_pos_last,$wdf_dec=1) { 607 return Document_remove_postings($this->_cPtr,$term,$term_pos_first,$term_pos_last,$wdf_dec); 608 } 609 610 function remove_term($tname) { 611 Document_remove_term($this->_cPtr,$tname); 612 } 613 614 function clear_terms() { 615 Document_clear_terms($this->_cPtr); 616 } 617 618 function termlist_count() { 619 return Document_termlist_count($this->_cPtr); 620 } 621 622 function termlist_begin() { 623 $r=Document_termlist_begin($this->_cPtr); 624 if (is_resource($r)) { 625 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 626 if (class_exists($c)) return new $c($r); 627 return new XapianTermIterator($r); 628 } 629 return $r; 630 } 631 632 function termlist_end() { 633 $r=Document_termlist_end($this->_cPtr); 634 if (is_resource($r)) { 635 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 636 if (class_exists($c)) return new $c($r); 637 return new XapianTermIterator($r); 638 } 639 return $r; 640 } 641 642 function values_count() { 643 return Document_values_count($this->_cPtr); 644 } 645 646 function values_begin() { 647 $r=Document_values_begin($this->_cPtr); 648 if (is_resource($r)) { 649 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 650 if (class_exists($c)) return new $c($r); 651 return new XapianValueIterator($r); 652 } 653 return $r; 654 } 655 656 function values_end() { 657 $r=Document_values_end($this->_cPtr); 658 if (is_resource($r)) { 659 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 660 if (class_exists($c)) return new $c($r); 661 return new XapianValueIterator($r); 662 } 663 return $r; 664 } 665 666 function get_docid() { 667 return Document_get_docid($this->_cPtr); 668 } 669 670 function serialise() { 671 return Document_serialise($this->_cPtr); 672 } 673 674 static function unserialise($serialised) { 675 $r=Document_unserialise($serialised); 676 if (is_resource($r)) { 677 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 678 if (class_exists($c)) return new $c($r); 679 return new XapianDocument($r); 680 } 681 return $r; 682 } 683 684 function get_description() { 685 return Document_get_description($this->_cPtr); 686 } 687} 688 689class XapianRegistry { 690 public $_cPtr=null; 691 protected $_pData=array(); 692 693 function __set($var,$value) { 694 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 695 $this->_pData[$var] = $value; 696 } 697 698 function __get($var) { 699 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 700 return $this->_pData[$var]; 701 } 702 703 function __isset($var) { 704 if ($var === 'thisown') return true; 705 return array_key_exists($var, $this->_pData); 706 } 707 708 function __construct($res=null) { 709 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__Registry') { 710 $this->_cPtr=$res; 711 return; 712 } 713 $this->_cPtr=new_Registry(); 714 } 715 716 function register_weighting_scheme(XapianWeight $wt) { 717 Registry_register_weighting_scheme($this->_cPtr,$wt); 718 } 719 720 function get_weighting_scheme($name) { 721 $r=Registry_get_weighting_scheme($this->_cPtr,$name); 722 $this->_cPtr = $r; 723 return $this; 724 } 725 726 function register_posting_source(XapianPostingSource $source) { 727 Registry_register_posting_source($this->_cPtr,$source); 728 } 729 730 function get_posting_source($name) { 731 $r=Registry_get_posting_source($this->_cPtr,$name); 732 $this->_cPtr = $r; 733 return $this; 734 } 735 736 function register_match_spy(XapianMatchSpy $spy) { 737 Registry_register_match_spy($this->_cPtr,$spy); 738 } 739 740 function get_match_spy($name) { 741 $r=Registry_get_match_spy($this->_cPtr,$name); 742 $this->_cPtr = $r; 743 return $this; 744 } 745 746 function register_lat_long_metric($metric) { 747 Registry_register_lat_long_metric($this->_cPtr,$metric); 748 } 749 750 function get_lat_long_metric($name) { 751 $r=Registry_get_lat_long_metric($this->_cPtr,$name); 752 $this->_cPtr = $r; 753 return $this; 754 } 755} 756 757class XapianQuery { 758 public $_ps=null; 759 public $_cPtr=null; 760 protected $_pData=array(); 761 762 function __set($var,$value) { 763 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 764 $this->_pData[$var] = $value; 765 } 766 767 function __get($var) { 768 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 769 return $this->_pData[$var]; 770 } 771 772 function __isset($var) { 773 if ($var === 'thisown') return true; 774 return array_key_exists($var, $this->_pData); 775 } 776 777 static function MatchNothing() { 778 $r=Query_MatchNothing_get(); 779 if (is_resource($r)) { 780 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 781 if (class_exists($c)) return new $c($r); 782 return new XapianQuery($r); 783 } 784 return $r; 785 } 786 787 static function MatchAll() { 788 $r=Query_MatchAll_get(); 789 if (is_resource($r)) { 790 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 791 if (class_exists($c)) return new $c($r); 792 return new XapianQuery($r); 793 } 794 return $r; 795 } 796 797 const OP_AND = 0; 798 799 const OP_OR = 1; 800 801 const OP_AND_NOT = 2; 802 803 const OP_XOR = 3; 804 805 const OP_AND_MAYBE = 4; 806 807 const OP_FILTER = 5; 808 809 const OP_NEAR = 6; 810 811 const OP_PHRASE = 7; 812 813 const OP_VALUE_RANGE = 8; 814 815 const OP_SCALE_WEIGHT = 9; 816 817 const OP_ELITE_SET = 10; 818 819 const OP_VALUE_GE = 11; 820 821 const OP_VALUE_LE = 12; 822 823 const OP_SYNONYM = 13; 824 825 const OP_MAX = 14; 826 827 const OP_WILDCARD = 15; 828 829 const OP_INVALID = 99; 830 831 const WILDCARD_LIMIT_ERROR = 0; 832 833 const WILDCARD_LIMIT_FIRST = Query_WILDCARD_LIMIT_FIRST; 834 835 const WILDCARD_LIMIT_MOST_FREQUENT = Query_WILDCARD_LIMIT_MOST_FREQUENT; 836 837 function get_terms_begin() { 838 $r=Query_get_terms_begin($this->_cPtr); 839 if (is_resource($r)) { 840 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 841 if (class_exists($c)) return new $c($r); 842 return new XapianTermIterator($r); 843 } 844 return $r; 845 } 846 847 function get_terms_end() { 848 $r=Query_get_terms_end($this->_cPtr); 849 if (is_resource($r)) { 850 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 851 if (class_exists($c)) return new $c($r); 852 return new XapianTermIterator($r); 853 } 854 return $r; 855 } 856 857 function get_unique_terms_begin() { 858 $r=Query_get_unique_terms_begin($this->_cPtr); 859 if (is_resource($r)) { 860 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 861 if (class_exists($c)) return new $c($r); 862 return new XapianTermIterator($r); 863 } 864 return $r; 865 } 866 867 function get_unique_terms_end() { 868 $r=Query_get_unique_terms_end($this->_cPtr); 869 if (is_resource($r)) { 870 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 871 if (class_exists($c)) return new $c($r); 872 return new XapianTermIterator($r); 873 } 874 return $r; 875 } 876 877 function get_length() { 878 return Query_get_length($this->_cPtr); 879 } 880 881 function is_empty() { 882 return Query_is_empty($this->_cPtr); 883 } 884 885 function serialise() { 886 return Query_serialise($this->_cPtr); 887 } 888 889 static function unserialise($serialised,$reg=null) { 890 switch (func_num_args()) { 891 case 1: $r=Query_unserialise($serialised); break; 892 default: $r=Query_unserialise($serialised,$reg); 893 } 894 if (is_resource($r)) { 895 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 896 if (class_exists($c)) return new $c($r); 897 return new XapianQuery($r); 898 } 899 return $r; 900 } 901 902 function get_type() { 903 return Query_get_type($this->_cPtr); 904 } 905 906 function get_num_subqueries() { 907 return Query_get_num_subqueries($this->_cPtr); 908 } 909 910 function get_subquery($n) { 911 $r=Query_get_subquery($this->_cPtr,$n); 912 if (is_resource($r)) { 913 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 914 if (class_exists($c)) return new $c($r); 915 return new XapianQuery($r); 916 } 917 return $r; 918 } 919 920 function get_description() { 921 return Query_get_description($this->_cPtr); 922 } 923 924 function __construct($term_or_source_or_factor_or_op_=null,$wqf_or_subquery_or_a_or_slot_or_pattern_or_qbegin=null,$pos_or_factor_or_b_or_range_limit_or_range_lower_or_max_expansion_or_parameter=null,$range_upper_or_max_type=null,$combiner=null) { 925 if ($term_or_source_or_factor_or_op_ instanceof XapianPostingSource) { 926 $this->_ps[]=$term_or_source_or_factor_or_op_; 927 } else if (is_array($wqf_or_subquery_or_a_or_slot_or_pattern_or_qbegin)) { 928 foreach ($wqf_or_subquery_or_a_or_slot_or_pattern_or_qbegin as $xxx) { 929 if ($xxx instanceof XapianQuery) $this->_ps[]=$xxx->_ps; 930 } 931 } else { 932 if ($term_or_source_or_factor_or_op_ instanceof XapianQuery) $this->_ps[]=$term_or_source_or_factor_or_op_->_ps; 933 if ($wqf_or_subquery_or_a_or_slot_or_pattern_or_qbegin instanceof XapianQuery) $this->_ps[]=$wqf_or_subquery_or_a_or_slot_or_pattern_or_qbegin->_ps; 934 if ($pos_or_factor_or_b_or_range_limit_or_range_lower_or_max_expansion_or_parameter instanceof XapianQuery) $this->_ps[]=$pos_or_factor_or_b_or_range_limit_or_range_lower_or_max_expansion_or_parameter->_ps; 935 } 936 if (is_resource($term_or_source_or_factor_or_op_) && get_resource_type($term_or_source_or_factor_or_op_) === '_p_Xapian__Query') { 937 $this->_cPtr=$term_or_source_or_factor_or_op_; 938 return; 939 } 940 switch (func_num_args()) { 941 case 0: $this->_cPtr=new_Query(); break; 942 case 1: $this->_cPtr=new_Query($term_or_source_or_factor_or_op_); break; 943 case 2: $this->_cPtr=new_Query($term_or_source_or_factor_or_op_,$wqf_or_subquery_or_a_or_slot_or_pattern_or_qbegin); break; 944 case 3: $this->_cPtr=new_Query($term_or_source_or_factor_or_op_,$wqf_or_subquery_or_a_or_slot_or_pattern_or_qbegin,$pos_or_factor_or_b_or_range_limit_or_range_lower_or_max_expansion_or_parameter); break; 945 case 4: $this->_cPtr=new_Query($term_or_source_or_factor_or_op_,$wqf_or_subquery_or_a_or_slot_or_pattern_or_qbegin,$pos_or_factor_or_b_or_range_limit_or_range_lower_or_max_expansion_or_parameter,$range_upper_or_max_type); break; 946 default: $this->_cPtr=new_Query($term_or_source_or_factor_or_op_,$wqf_or_subquery_or_a_or_slot_or_pattern_or_qbegin,$pos_or_factor_or_b_or_range_limit_or_range_lower_or_max_expansion_or_parameter,$range_upper_or_max_type,$combiner); 947 } 948 } 949} 950 951abstract class XapianStemImplementation { 952 public $_cPtr=null; 953 protected $_pData=array(); 954 955 function __set($var,$value) { 956 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 957 $this->_pData[$var] = $value; 958 } 959 960 function __get($var) { 961 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 962 return $this->_pData[$var]; 963 } 964 965 function __isset($var) { 966 if ($var === 'thisown') return true; 967 return array_key_exists($var, $this->_pData); 968 } 969 970 function __construct($res=null) { 971 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__StemImplementation') { 972 $this->_cPtr=$res; 973 return; 974 } 975 if (get_class($this) === 'XapianStemImplementation') { 976 $_this = null; 977 } else { 978 $_this = $this; 979 } 980 $this->_cPtr=new_StemImplementation($_this); 981 } 982 983 function apply($word) { 984 return StemImplementation_apply($this->_cPtr,$word); 985 } 986 987 function get_description() { 988 return StemImplementation_get_description($this->_cPtr); 989 } 990} 991 992class XapianStem { 993 public $_cPtr=null; 994 protected $_pData=array(); 995 996 function __set($var,$value) { 997 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 998 $this->_pData[$var] = $value; 999 } 1000 1001 function __get($var) { 1002 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 1003 return $this->_pData[$var]; 1004 } 1005 1006 function __isset($var) { 1007 if ($var === 'thisown') return true; 1008 return array_key_exists($var, $this->_pData); 1009 } 1010 1011 function __construct($language_or_p,$fallback=null) { 1012 if (is_resource($language_or_p) && get_resource_type($language_or_p) === '_p_Xapian__Stem') { 1013 $this->_cPtr=$language_or_p; 1014 return; 1015 } 1016 switch (func_num_args()) { 1017 case 1: $this->_cPtr=new_Stem($language_or_p); break; 1018 default: $this->_cPtr=new_Stem($language_or_p,$fallback); 1019 } 1020 } 1021 1022 function apply($word) { 1023 return Stem_apply($this->_cPtr,$word); 1024 } 1025 1026 function is_none() { 1027 return Stem_is_none($this->_cPtr); 1028 } 1029 1030 function get_description() { 1031 return Stem_get_description($this->_cPtr); 1032 } 1033 1034 static function get_available_languages() { 1035 return Stem_get_available_languages(); 1036 } 1037} 1038 1039class XapianTermGenerator { 1040 protected $_stopper=null; 1041 public $_cPtr=null; 1042 protected $_pData=array(); 1043 1044 function __set($var,$value) { 1045 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 1046 $this->_pData[$var] = $value; 1047 } 1048 1049 function __get($var) { 1050 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 1051 return $this->_pData[$var]; 1052 } 1053 1054 function __isset($var) { 1055 if ($var === 'thisown') return true; 1056 return array_key_exists($var, $this->_pData); 1057 } 1058 1059 function __construct($res=null) { 1060 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__TermGenerator') { 1061 $this->_cPtr=$res; 1062 return; 1063 } 1064 $this->_cPtr=new_TermGenerator(); 1065 } 1066 1067 function set_stemmer(XapianStem $stemmer) { 1068 TermGenerator_set_stemmer($this->_cPtr,$stemmer); 1069 } 1070 1071 function set_stopper(XapianStopper $stop=null) { 1072 $this->_stopper=$stop; 1073 TermGenerator_set_stopper($this->_cPtr,$stop); 1074 } 1075 1076 function set_document(XapianDocument $doc) { 1077 TermGenerator_set_document($this->_cPtr,$doc); 1078 } 1079 1080 function get_document() { 1081 $r=TermGenerator_get_document($this->_cPtr); 1082 if (is_resource($r)) { 1083 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1084 if (class_exists($c)) return new $c($r); 1085 return new XapianDocument($r); 1086 } 1087 return $r; 1088 } 1089 1090 function set_database(XapianDatabase $db) { 1091 TermGenerator_set_database($this->_cPtr,$db); 1092 } 1093 1094 const FLAG_SPELLING = 128; 1095 1096 const FLAG_CJK_NGRAM = 2048; 1097 1098 const STEM_NONE = 0; 1099 1100 const STEM_SOME = TermGenerator_STEM_SOME; 1101 1102 const STEM_ALL = TermGenerator_STEM_ALL; 1103 1104 const STEM_ALL_Z = TermGenerator_STEM_ALL_Z; 1105 1106 const STEM_SOME_FULL_POS = TermGenerator_STEM_SOME_FULL_POS; 1107 1108 const STOP_NONE = 0; 1109 1110 const STOP_ALL = TermGenerator_STOP_ALL; 1111 1112 const STOP_STEMMED = TermGenerator_STOP_STEMMED; 1113 1114 function set_flags($toggle,$mask=null) { 1115 switch (func_num_args()) { 1116 case 1: $r=TermGenerator_set_flags($this->_cPtr,$toggle); break; 1117 default: $r=TermGenerator_set_flags($this->_cPtr,$toggle,$mask); 1118 } 1119 return $r; 1120 } 1121 1122 function set_stemming_strategy($strategy) { 1123 TermGenerator_set_stemming_strategy($this->_cPtr,$strategy); 1124 } 1125 1126 function set_stopper_strategy($strategy) { 1127 TermGenerator_set_stopper_strategy($this->_cPtr,$strategy); 1128 } 1129 1130 function set_max_word_length($max_word_length) { 1131 TermGenerator_set_max_word_length($this->_cPtr,$max_word_length); 1132 } 1133 1134 function index_text($text,$wdf_inc=1,$prefix=null) { 1135 switch (func_num_args()) { 1136 case 1: case 2: TermGenerator_index_text($this->_cPtr,$text,$wdf_inc); break; 1137 default: TermGenerator_index_text($this->_cPtr,$text,$wdf_inc,$prefix); 1138 } 1139 } 1140 1141 function index_text_without_positions($text,$wdf_inc=1,$prefix=null) { 1142 switch (func_num_args()) { 1143 case 1: case 2: TermGenerator_index_text_without_positions($this->_cPtr,$text,$wdf_inc); break; 1144 default: TermGenerator_index_text_without_positions($this->_cPtr,$text,$wdf_inc,$prefix); 1145 } 1146 } 1147 1148 function increase_termpos($delta=100) { 1149 TermGenerator_increase_termpos($this->_cPtr,$delta); 1150 } 1151 1152 function get_termpos() { 1153 return TermGenerator_get_termpos($this->_cPtr); 1154 } 1155 1156 function set_termpos($termpos) { 1157 TermGenerator_set_termpos($this->_cPtr,$termpos); 1158 } 1159 1160 function get_description() { 1161 return TermGenerator_get_description($this->_cPtr); 1162 } 1163} 1164 1165class XapianMSet { 1166 public $_cPtr=null; 1167 protected $_pData=array(); 1168 1169 function __set($var,$value) { 1170 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 1171 $this->_pData[$var] = $value; 1172 } 1173 1174 function __get($var) { 1175 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 1176 return $this->_pData[$var]; 1177 } 1178 1179 function __isset($var) { 1180 if ($var === 'thisown') return true; 1181 return array_key_exists($var, $this->_pData); 1182 } 1183 1184 function __construct($res=null) { 1185 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__MSet') { 1186 $this->_cPtr=$res; 1187 return; 1188 } 1189 $this->_cPtr=new_MSet(); 1190 } 1191 1192 function convert_to_percent($weight_or_it) { 1193 return MSet_convert_to_percent($this->_cPtr,$weight_or_it); 1194 } 1195 1196 function get_termfreq($term) { 1197 return MSet_get_termfreq($this->_cPtr,$term); 1198 } 1199 1200 function get_termweight($term) { 1201 return MSet_get_termweight($this->_cPtr,$term); 1202 } 1203 1204 function get_firstitem() { 1205 return MSet_get_firstitem($this->_cPtr); 1206 } 1207 1208 function get_matches_lower_bound() { 1209 return MSet_get_matches_lower_bound($this->_cPtr); 1210 } 1211 1212 function get_matches_estimated() { 1213 return MSet_get_matches_estimated($this->_cPtr); 1214 } 1215 1216 function get_matches_upper_bound() { 1217 return MSet_get_matches_upper_bound($this->_cPtr); 1218 } 1219 1220 function get_uncollapsed_matches_lower_bound() { 1221 return MSet_get_uncollapsed_matches_lower_bound($this->_cPtr); 1222 } 1223 1224 function get_uncollapsed_matches_estimated() { 1225 return MSet_get_uncollapsed_matches_estimated($this->_cPtr); 1226 } 1227 1228 function get_uncollapsed_matches_upper_bound() { 1229 return MSet_get_uncollapsed_matches_upper_bound($this->_cPtr); 1230 } 1231 1232 function get_max_attained() { 1233 return MSet_get_max_attained($this->_cPtr); 1234 } 1235 1236 function get_max_possible() { 1237 return MSet_get_max_possible($this->_cPtr); 1238 } 1239 1240 const SNIPPET_BACKGROUND_MODEL = 1; 1241 1242 const SNIPPET_EXHAUSTIVE = 2; 1243 1244 const SNIPPET_EMPTY_WITHOUT_MATCH = 4; 1245 1246 const SNIPPET_CJK_NGRAM = 2048; 1247 1248 function snippet($text,$length=null,$stemmer=null,$flags=null,$hi_start=null,$hi_end=null,$omit=null) { 1249 switch (func_num_args()) { 1250 case 1: $r=MSet_snippet($this->_cPtr,$text); break; 1251 case 2: $r=MSet_snippet($this->_cPtr,$text,$length); break; 1252 case 3: $r=MSet_snippet($this->_cPtr,$text,$length,$stemmer); break; 1253 case 4: $r=MSet_snippet($this->_cPtr,$text,$length,$stemmer,$flags); break; 1254 case 5: $r=MSet_snippet($this->_cPtr,$text,$length,$stemmer,$flags,$hi_start); break; 1255 case 6: $r=MSet_snippet($this->_cPtr,$text,$length,$stemmer,$flags,$hi_start,$hi_end); break; 1256 default: $r=MSet_snippet($this->_cPtr,$text,$length,$stemmer,$flags,$hi_start,$hi_end,$omit); 1257 } 1258 return $r; 1259 } 1260 1261 function fetch($begin_or_item=null,$end=null) { 1262 switch (func_num_args()) { 1263 case 0: MSet_fetch($this->_cPtr); break; 1264 case 1: MSet_fetch($this->_cPtr,$begin_or_item); break; 1265 default: MSet_fetch($this->_cPtr,$begin_or_item,$end); 1266 } 1267 } 1268 1269 function size() { 1270 return MSet_size($this->_cPtr); 1271 } 1272 1273 function is_empty() { 1274 return MSet_is_empty($this->_cPtr); 1275 } 1276 1277 function begin() { 1278 $r=MSet_begin($this->_cPtr); 1279 if (is_resource($r)) { 1280 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1281 if (class_exists($c)) return new $c($r); 1282 return new XapianMSetIterator($r); 1283 } 1284 return $r; 1285 } 1286 1287 function end() { 1288 $r=MSet_end($this->_cPtr); 1289 if (is_resource($r)) { 1290 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1291 if (class_exists($c)) return new $c($r); 1292 return new XapianMSetIterator($r); 1293 } 1294 return $r; 1295 } 1296 1297 function back() { 1298 $r=MSet_back($this->_cPtr); 1299 if (is_resource($r)) { 1300 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1301 if (class_exists($c)) return new $c($r); 1302 return new XapianMSetIterator($r); 1303 } 1304 return $r; 1305 } 1306 1307 function get_description() { 1308 return MSet_get_description($this->_cPtr); 1309 } 1310 1311 function get_docid($i) { 1312 return MSet_get_docid($this->_cPtr,$i); 1313 } 1314 1315 function get_document($i) { 1316 $r=MSet_get_document($this->_cPtr,$i); 1317 if (is_resource($r)) { 1318 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1319 if (class_exists($c)) return new $c($r); 1320 return new XapianDocument($r); 1321 } 1322 return $r; 1323 } 1324 1325 function get_hit($i) { 1326 $r=MSet_get_hit($this->_cPtr,$i); 1327 if (is_resource($r)) { 1328 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1329 if (class_exists($c)) return new $c($r); 1330 return new XapianMSetIterator($r); 1331 } 1332 return $r; 1333 } 1334 1335 function get_document_percentage($i) { 1336 return MSet_get_document_percentage($this->_cPtr,$i); 1337 } 1338} 1339 1340class XapianMSetIterator implements Iterator { 1341 public $_cPtr=null; 1342 protected $_pData=array(); 1343 1344 function __set($var,$value) { 1345 if ($var === 'off_from_end') return MSetIterator_off_from_end_set($this->_cPtr,$value); 1346 if ($var === 'mset') return MSetIterator_mset_set($this->_cPtr,$value); 1347 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 1348 $this->_pData[$var] = $value; 1349 } 1350 1351 function __get($var) { 1352 if ($var === 'mset') return new XapianMSet(MSetIterator_mset_get($this->_cPtr)); 1353 if ($var === 'off_from_end') return MSetIterator_off_from_end_get($this->_cPtr); 1354 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 1355 return $this->_pData[$var]; 1356 } 1357 1358 function __isset($var) { 1359 if (function_exists('MSetIterator_'.$var.'_get')) return true; 1360 if ($var === 'thisown') return true; 1361 return array_key_exists($var, $this->_pData); 1362 } 1363 1364 function __construct($res=null) { 1365 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__MSetIterator') { 1366 $this->_cPtr=$res; 1367 return; 1368 } 1369 $this->_cPtr=new_MSetIterator(); 1370 } 1371 1372 function get_rank() { 1373 return MSetIterator_get_rank($this->_cPtr); 1374 } 1375 1376 function get_document() { 1377 $r=MSetIterator_get_document($this->_cPtr); 1378 if (is_resource($r)) { 1379 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1380 if (class_exists($c)) return new $c($r); 1381 return new XapianDocument($r); 1382 } 1383 return $r; 1384 } 1385 1386 function get_weight() { 1387 return MSetIterator_get_weight($this->_cPtr); 1388 } 1389 1390 function get_collapse_key() { 1391 return MSetIterator_get_collapse_key($this->_cPtr); 1392 } 1393 1394 function get_collapse_count() { 1395 return MSetIterator_get_collapse_count($this->_cPtr); 1396 } 1397 1398 function get_sort_key() { 1399 return MSetIterator_get_sort_key($this->_cPtr); 1400 } 1401 1402 function get_percent() { 1403 return MSetIterator_get_percent($this->_cPtr); 1404 } 1405 1406 function get_description() { 1407 return MSetIterator_get_description($this->_cPtr); 1408 } 1409 1410 function key() { 1411 $r=MSetIterator_key($this->_cPtr); 1412 if (is_resource($r)) { 1413 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1414 if (class_exists($c)) return new $c($r); 1415 return new XapianMSetIterator($r); 1416 } 1417 return $r; 1418 } 1419 1420 function current() { 1421 return MSetIterator_current($this->_cPtr); 1422 } 1423 1424 function valid() { 1425 return MSetIterator_valid($this->_cPtr); 1426 } 1427 1428 function rewind() { 1429 MSetIterator_rewind($this->_cPtr); 1430 } 1431 1432 function equals(XapianMSetIterator $o) { 1433 return MSetIterator_equals($this->_cPtr,$o); 1434 } 1435 1436 function get_docid() { 1437 return MSetIterator_get_docid($this->_cPtr); 1438 } 1439 1440 function next() { 1441 MSetIterator_next($this->_cPtr); 1442 } 1443 1444 function prev() { 1445 MSetIterator_prev($this->_cPtr); 1446 } 1447} 1448 1449class XapianESet { 1450 public $_cPtr=null; 1451 protected $_pData=array(); 1452 1453 function __set($var,$value) { 1454 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 1455 $this->_pData[$var] = $value; 1456 } 1457 1458 function __get($var) { 1459 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 1460 return $this->_pData[$var]; 1461 } 1462 1463 function __isset($var) { 1464 if ($var === 'thisown') return true; 1465 return array_key_exists($var, $this->_pData); 1466 } 1467 1468 function __construct($res=null) { 1469 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__ESet') { 1470 $this->_cPtr=$res; 1471 return; 1472 } 1473 $this->_cPtr=new_ESet(); 1474 } 1475 1476 function size() { 1477 return ESet_size($this->_cPtr); 1478 } 1479 1480 function is_empty() { 1481 return ESet_is_empty($this->_cPtr); 1482 } 1483 1484 function get_ebound() { 1485 return ESet_get_ebound($this->_cPtr); 1486 } 1487 1488 function begin() { 1489 $r=ESet_begin($this->_cPtr); 1490 if (is_resource($r)) { 1491 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1492 if (class_exists($c)) return new $c($r); 1493 return new XapianESetIterator($r); 1494 } 1495 return $r; 1496 } 1497 1498 function end() { 1499 $r=ESet_end($this->_cPtr); 1500 if (is_resource($r)) { 1501 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1502 if (class_exists($c)) return new $c($r); 1503 return new XapianESetIterator($r); 1504 } 1505 return $r; 1506 } 1507 1508 function back() { 1509 $r=ESet_back($this->_cPtr); 1510 if (is_resource($r)) { 1511 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1512 if (class_exists($c)) return new $c($r); 1513 return new XapianESetIterator($r); 1514 } 1515 return $r; 1516 } 1517 1518 function get_description() { 1519 return ESet_get_description($this->_cPtr); 1520 } 1521} 1522 1523class XapianESetIterator implements Iterator { 1524 public $_cPtr=null; 1525 protected $_pData=array(); 1526 1527 function __set($var,$value) { 1528 if ($var === 'off_from_end') return ESetIterator_off_from_end_set($this->_cPtr,$value); 1529 if ($var === 'eset') return ESetIterator_eset_set($this->_cPtr,$value); 1530 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 1531 $this->_pData[$var] = $value; 1532 } 1533 1534 function __get($var) { 1535 if ($var === 'eset') return new XapianESet(ESetIterator_eset_get($this->_cPtr)); 1536 if ($var === 'off_from_end') return ESetIterator_off_from_end_get($this->_cPtr); 1537 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 1538 return $this->_pData[$var]; 1539 } 1540 1541 function __isset($var) { 1542 if (function_exists('ESetIterator_'.$var.'_get')) return true; 1543 if ($var === 'thisown') return true; 1544 return array_key_exists($var, $this->_pData); 1545 } 1546 1547 function __construct($res=null) { 1548 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__ESetIterator') { 1549 $this->_cPtr=$res; 1550 return; 1551 } 1552 $this->_cPtr=new_ESetIterator(); 1553 } 1554 1555 function get_weight() { 1556 return ESetIterator_get_weight($this->_cPtr); 1557 } 1558 1559 function get_description() { 1560 return ESetIterator_get_description($this->_cPtr); 1561 } 1562 1563 function key() { 1564 $r=ESetIterator_key($this->_cPtr); 1565 if (is_resource($r)) { 1566 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1567 if (class_exists($c)) return new $c($r); 1568 return new XapianESetIterator($r); 1569 } 1570 return $r; 1571 } 1572 1573 function current() { 1574 return ESetIterator_current($this->_cPtr); 1575 } 1576 1577 function valid() { 1578 return ESetIterator_valid($this->_cPtr); 1579 } 1580 1581 function rewind() { 1582 ESetIterator_rewind($this->_cPtr); 1583 } 1584 1585 function equals(XapianESetIterator $o) { 1586 return ESetIterator_equals($this->_cPtr,$o); 1587 } 1588 1589 function get_term() { 1590 return ESetIterator_get_term($this->_cPtr); 1591 } 1592 1593 function next() { 1594 ESetIterator_next($this->_cPtr); 1595 } 1596 1597 function prev() { 1598 ESetIterator_prev($this->_cPtr); 1599 } 1600} 1601 1602class XapianRSet { 1603 public $_cPtr=null; 1604 protected $_pData=array(); 1605 1606 function __set($var,$value) { 1607 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 1608 $this->_pData[$var] = $value; 1609 } 1610 1611 function __get($var) { 1612 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 1613 return $this->_pData[$var]; 1614 } 1615 1616 function __isset($var) { 1617 if ($var === 'thisown') return true; 1618 return array_key_exists($var, $this->_pData); 1619 } 1620 1621 function __construct($res=null) { 1622 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__RSet') { 1623 $this->_cPtr=$res; 1624 return; 1625 } 1626 $this->_cPtr=new_RSet(); 1627 } 1628 1629 function size() { 1630 return RSet_size($this->_cPtr); 1631 } 1632 1633 function is_empty() { 1634 return RSet_is_empty($this->_cPtr); 1635 } 1636 1637 function add_document($did_or_i) { 1638 RSet_add_document($this->_cPtr,$did_or_i); 1639 } 1640 1641 function remove_document($did_or_i) { 1642 RSet_remove_document($this->_cPtr,$did_or_i); 1643 } 1644 1645 function contains($did_or_i) { 1646 return RSet_contains($this->_cPtr,$did_or_i); 1647 } 1648 1649 function get_description() { 1650 return RSet_get_description($this->_cPtr); 1651 } 1652} 1653 1654abstract class XapianMatchDecider { 1655 public $_cPtr=null; 1656 protected $_pData=array(); 1657 1658 function __set($var,$value) { 1659 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 1660 $this->_pData[$var] = $value; 1661 } 1662 1663 function __get($var) { 1664 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 1665 return $this->_pData[$var]; 1666 } 1667 1668 function __isset($var) { 1669 if ($var === 'thisown') return true; 1670 return array_key_exists($var, $this->_pData); 1671 } 1672 1673 function __construct($res=null) { 1674 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__MatchDecider') { 1675 $this->_cPtr=$res; 1676 return; 1677 } 1678 if (get_class($this) === 'XapianMatchDecider') { 1679 $_this = null; 1680 } else { 1681 $_this = $this; 1682 } 1683 $this->_cPtr=new_MatchDecider($_this); 1684 } 1685 1686 function apply($doc) { 1687 return MatchDecider_apply($this->_cPtr,$doc); 1688 } 1689} 1690 1691class XapianEnquire { 1692 protected $_ps=null; 1693 protected $_sorter=null; 1694 protected $_spies=null; 1695 public $_cPtr=null; 1696 protected $_pData=array(); 1697 1698 function __set($var,$value) { 1699 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 1700 $this->_pData[$var] = $value; 1701 } 1702 1703 function __get($var) { 1704 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 1705 return $this->_pData[$var]; 1706 } 1707 1708 function __isset($var) { 1709 if ($var === 'thisown') return true; 1710 return array_key_exists($var, $this->_pData); 1711 } 1712 1713 function __construct($database) { 1714 if (is_resource($database) && get_resource_type($database) === '_p_Xapian__Enquire') { 1715 $this->_cPtr=$database; 1716 return; 1717 } 1718 $this->_cPtr=new_Enquire($database); 1719 } 1720 1721 function set_query(XapianQuery $query,$qlen=0) { 1722 $this->_ps=$query->_ps; 1723 Enquire_set_query($this->_cPtr,$query,$qlen); 1724 } 1725 1726 function get_query() { 1727 $r=Enquire_get_query($this->_cPtr); 1728 if (is_resource($r)) { 1729 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1730 if (class_exists($c)) return new $c($r); 1731 return new XapianQuery($r); 1732 } 1733 return $r; 1734 } 1735 1736 function add_matchspy(XapianMatchSpy $spy) { 1737 $this->_spies[]=$spy; 1738 Enquire_add_matchspy($this->_cPtr,$spy); 1739 } 1740 1741 function clear_matchspies() { 1742 $this->_spies=null; 1743 Enquire_clear_matchspies($this->_cPtr); 1744 } 1745 1746 function set_weighting_scheme(XapianWeight $weight_) { 1747 Enquire_set_weighting_scheme($this->_cPtr,$weight_); 1748 } 1749 1750 function set_expansion_scheme($eweightname_,$expand_k_=1.0) { 1751 Enquire_set_expansion_scheme($this->_cPtr,$eweightname_,$expand_k_); 1752 } 1753 1754 function set_collapse_key($collapse_key,$collapse_max=1) { 1755 Enquire_set_collapse_key($this->_cPtr,$collapse_key,$collapse_max); 1756 } 1757 1758 const ASCENDING = 1; 1759 1760 const DESCENDING = 0; 1761 1762 const DONT_CARE = 2; 1763 1764 function set_docid_order($order) { 1765 Enquire_set_docid_order($this->_cPtr,$order); 1766 } 1767 1768 function set_cutoff($percent_cutoff,$weight_cutoff=0.0) { 1769 Enquire_set_cutoff($this->_cPtr,$percent_cutoff,$weight_cutoff); 1770 } 1771 1772 function set_sort_by_relevance() { 1773 Enquire_set_sort_by_relevance($this->_cPtr); 1774 } 1775 1776 function set_sort_by_value($sort_key,$reverse) { 1777 Enquire_set_sort_by_value($this->_cPtr,$sort_key,$reverse); 1778 } 1779 1780 function set_sort_by_key(XapianKeyMaker $sorter,$reverse) { 1781 $this->_sorter=$sorter; 1782 Enquire_set_sort_by_key($this->_cPtr,$sorter,$reverse); 1783 } 1784 1785 function set_sort_by_value_then_relevance($sort_key,$reverse) { 1786 Enquire_set_sort_by_value_then_relevance($this->_cPtr,$sort_key,$reverse); 1787 } 1788 1789 function set_sort_by_key_then_relevance(XapianKeyMaker $sorter,$reverse) { 1790 $this->_sorter=$sorter; 1791 Enquire_set_sort_by_key_then_relevance($this->_cPtr,$sorter,$reverse); 1792 } 1793 1794 function set_sort_by_relevance_then_value($sort_key,$reverse) { 1795 Enquire_set_sort_by_relevance_then_value($this->_cPtr,$sort_key,$reverse); 1796 } 1797 1798 function set_sort_by_relevance_then_key(XapianKeyMaker $sorter,$reverse) { 1799 $this->_sorter=$sorter; 1800 Enquire_set_sort_by_relevance_then_key($this->_cPtr,$sorter,$reverse); 1801 } 1802 1803 function set_time_limit($time_limit) { 1804 Enquire_set_time_limit($this->_cPtr,$time_limit); 1805 } 1806 1807 function get_mset($first,$maxitems,$checkatleast_or_omrset=null,$omrset_or_mdecider=null,XapianMatchDecider $mdecider=null) { 1808 switch (func_num_args()) { 1809 case 2: $r=Enquire_get_mset($this->_cPtr,$first,$maxitems); break; 1810 case 3: $r=Enquire_get_mset($this->_cPtr,$first,$maxitems,$checkatleast_or_omrset); break; 1811 case 4: $r=Enquire_get_mset($this->_cPtr,$first,$maxitems,$checkatleast_or_omrset,$omrset_or_mdecider); break; 1812 default: $r=Enquire_get_mset($this->_cPtr,$first,$maxitems,$checkatleast_or_omrset,$omrset_or_mdecider,$mdecider); 1813 } 1814 if (is_resource($r)) { 1815 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1816 if (class_exists($c)) return new $c($r); 1817 return new XapianMSet($r); 1818 } 1819 return $r; 1820 } 1821 1822 const INCLUDE_QUERY_TERMS = Enquire_INCLUDE_QUERY_TERMS; 1823 1824 const USE_EXACT_TERMFREQ = Enquire_USE_EXACT_TERMFREQ; 1825 1826 function get_eset($maxitems,$omrset_or_rset,$flags_or_edecider=null,$edecider_or_k=null,$min_wt_or_edecider=null,$min_wt=null) { 1827 switch (func_num_args()) { 1828 case 2: $r=Enquire_get_eset($this->_cPtr,$maxitems,$omrset_or_rset); break; 1829 case 3: $r=Enquire_get_eset($this->_cPtr,$maxitems,$omrset_or_rset,$flags_or_edecider); break; 1830 case 4: $r=Enquire_get_eset($this->_cPtr,$maxitems,$omrset_or_rset,$flags_or_edecider,$edecider_or_k); break; 1831 case 5: $r=Enquire_get_eset($this->_cPtr,$maxitems,$omrset_or_rset,$flags_or_edecider,$edecider_or_k,$min_wt_or_edecider); break; 1832 default: $r=Enquire_get_eset($this->_cPtr,$maxitems,$omrset_or_rset,$flags_or_edecider,$edecider_or_k,$min_wt_or_edecider,$min_wt); 1833 } 1834 if (is_resource($r)) { 1835 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1836 if (class_exists($c)) return new $c($r); 1837 return new XapianESet($r); 1838 } 1839 return $r; 1840 } 1841 1842 function get_matching_terms_begin($did_or_it) { 1843 $r=Enquire_get_matching_terms_begin($this->_cPtr,$did_or_it); 1844 if (is_resource($r)) { 1845 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1846 if (class_exists($c)) return new $c($r); 1847 return new XapianTermIterator($r); 1848 } 1849 return $r; 1850 } 1851 1852 function get_matching_terms_end($arg1) { 1853 $r=Enquire_get_matching_terms_end($this->_cPtr,$arg1); 1854 if (is_resource($r)) { 1855 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 1856 if (class_exists($c)) return new $c($r); 1857 return new XapianTermIterator($r); 1858 } 1859 return $r; 1860 } 1861 1862 function get_description() { 1863 return Enquire_get_description($this->_cPtr); 1864 } 1865 1866 function get_matching_terms($item) { 1867 return Enquire_get_matching_terms($this->_cPtr,$item); 1868 } 1869} 1870 1871abstract class XapianExpandDecider { 1872 public $_cPtr=null; 1873 protected $_pData=array(); 1874 1875 function __set($var,$value) { 1876 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 1877 $this->_pData[$var] = $value; 1878 } 1879 1880 function __get($var) { 1881 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 1882 return $this->_pData[$var]; 1883 } 1884 1885 function __isset($var) { 1886 if ($var === 'thisown') return true; 1887 return array_key_exists($var, $this->_pData); 1888 } 1889 1890 function __construct($res=null) { 1891 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__ExpandDecider') { 1892 $this->_cPtr=$res; 1893 return; 1894 } 1895 if (get_class($this) === 'XapianExpandDecider') { 1896 $_this = null; 1897 } else { 1898 $_this = $this; 1899 } 1900 $this->_cPtr=new_ExpandDecider($_this); 1901 } 1902 1903 function apply($term) { 1904 return ExpandDecider_apply($this->_cPtr,$term); 1905 } 1906 1907 function release() { 1908 $r=ExpandDecider_release($this->_cPtr); 1909 $this->_cPtr = $r; 1910 return $this; 1911 } 1912} 1913 1914class XapianExpandDeciderAnd extends XapianExpandDecider { 1915 public $_cPtr=null; 1916 1917 function __set($var,$value) { 1918 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 1919 XapianExpandDecider::__set($var,$value); 1920 } 1921 1922 function __get($var) { 1923 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 1924 return XapianExpandDecider::__get($var); 1925 } 1926 1927 function __isset($var) { 1928 if ($var === 'thisown') return true; 1929 return XapianExpandDecider::__isset($var); 1930 } 1931 1932 function __construct($first_,$second_=null) { 1933 if (is_resource($first_) && get_resource_type($first_) === '_p_Xapian__ExpandDeciderAnd') { 1934 $this->_cPtr=$first_; 1935 return; 1936 } 1937 $this->_cPtr=new_ExpandDeciderAnd($first_,$second_); 1938 } 1939 1940 function apply($term) { 1941 return ExpandDeciderAnd_apply($this->_cPtr,$term); 1942 } 1943} 1944 1945class XapianExpandDeciderFilterPrefix extends XapianExpandDecider { 1946 public $_cPtr=null; 1947 1948 function __set($var,$value) { 1949 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 1950 XapianExpandDecider::__set($var,$value); 1951 } 1952 1953 function __get($var) { 1954 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 1955 return XapianExpandDecider::__get($var); 1956 } 1957 1958 function __isset($var) { 1959 if ($var === 'thisown') return true; 1960 return XapianExpandDecider::__isset($var); 1961 } 1962 1963 function __construct($prefix_) { 1964 if (is_resource($prefix_) && get_resource_type($prefix_) === '_p_Xapian__ExpandDeciderFilterPrefix') { 1965 $this->_cPtr=$prefix_; 1966 return; 1967 } 1968 $this->_cPtr=new_ExpandDeciderFilterPrefix($prefix_); 1969 } 1970 1971 function apply($term) { 1972 return ExpandDeciderFilterPrefix_apply($this->_cPtr,$term); 1973 } 1974} 1975 1976abstract class XapianKeyMaker { 1977 public $_cPtr=null; 1978 protected $_pData=array(); 1979 1980 function __set($var,$value) { 1981 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 1982 $this->_pData[$var] = $value; 1983 } 1984 1985 function __get($var) { 1986 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 1987 return $this->_pData[$var]; 1988 } 1989 1990 function __isset($var) { 1991 if ($var === 'thisown') return true; 1992 return array_key_exists($var, $this->_pData); 1993 } 1994 1995 function __construct($res=null) { 1996 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__KeyMaker') { 1997 $this->_cPtr=$res; 1998 return; 1999 } 2000 if (get_class($this) === 'XapianKeyMaker') { 2001 $_this = null; 2002 } else { 2003 $_this = $this; 2004 } 2005 $this->_cPtr=new_KeyMaker($_this); 2006 } 2007 2008 function apply($doc) { 2009 return KeyMaker_apply($this->_cPtr,$doc); 2010 } 2011 2012 function release() { 2013 $r=KeyMaker_release($this->_cPtr); 2014 $this->_cPtr = $r; 2015 return $this; 2016 } 2017} 2018 2019class XapianMultiValueKeyMaker extends XapianKeyMaker { 2020 public $_cPtr=null; 2021 2022 function __set($var,$value) { 2023 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2024 XapianKeyMaker::__set($var,$value); 2025 } 2026 2027 function __get($var) { 2028 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2029 return XapianKeyMaker::__get($var); 2030 } 2031 2032 function __isset($var) { 2033 if ($var === 'thisown') return true; 2034 return XapianKeyMaker::__isset($var); 2035 } 2036 2037 function __construct($res=null) { 2038 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__MultiValueKeyMaker') { 2039 $this->_cPtr=$res; 2040 return; 2041 } 2042 $this->_cPtr=new_MultiValueKeyMaker(); 2043 } 2044 2045 function apply($doc) { 2046 return MultiValueKeyMaker_apply($this->_cPtr,$doc); 2047 } 2048 2049 function add_value($slot,$reverse=false,$defvalue=null) { 2050 switch (func_num_args()) { 2051 case 1: case 2: MultiValueKeyMaker_add_value($this->_cPtr,$slot,$reverse); break; 2052 default: MultiValueKeyMaker_add_value($this->_cPtr,$slot,$reverse,$defvalue); 2053 } 2054 } 2055} 2056 2057abstract class XapianStopper { 2058 public $_cPtr=null; 2059 protected $_pData=array(); 2060 2061 function __set($var,$value) { 2062 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2063 $this->_pData[$var] = $value; 2064 } 2065 2066 function __get($var) { 2067 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2068 return $this->_pData[$var]; 2069 } 2070 2071 function __isset($var) { 2072 if ($var === 'thisown') return true; 2073 return array_key_exists($var, $this->_pData); 2074 } 2075 2076 function __construct($res=null) { 2077 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__Stopper') { 2078 $this->_cPtr=$res; 2079 return; 2080 } 2081 if (get_class($this) === 'XapianStopper') { 2082 $_this = null; 2083 } else { 2084 $_this = $this; 2085 } 2086 $this->_cPtr=new_Stopper($_this); 2087 } 2088 2089 function apply($term) { 2090 return Stopper_apply($this->_cPtr,$term); 2091 } 2092 2093 function get_description() { 2094 return Stopper_get_description($this->_cPtr); 2095 } 2096 2097 function release() { 2098 $r=Stopper_release($this->_cPtr); 2099 $this->_cPtr = $r; 2100 return $this; 2101 } 2102} 2103 2104class XapianSimpleStopper extends XapianStopper { 2105 public $_cPtr=null; 2106 2107 function __set($var,$value) { 2108 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2109 XapianStopper::__set($var,$value); 2110 } 2111 2112 function __get($var) { 2113 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2114 return XapianStopper::__get($var); 2115 } 2116 2117 function __isset($var) { 2118 if ($var === 'thisown') return true; 2119 return XapianStopper::__isset($var); 2120 } 2121 2122 function add($word) { 2123 SimpleStopper_add($this->_cPtr,$word); 2124 } 2125 2126 function apply($term) { 2127 return SimpleStopper_apply($this->_cPtr,$term); 2128 } 2129 2130 function get_description() { 2131 return SimpleStopper_get_description($this->_cPtr); 2132 } 2133 2134 function __construct($file=null) { 2135 if (is_resource($file) && get_resource_type($file) === '_p_Xapian__SimpleStopper') { 2136 $this->_cPtr=$file; 2137 return; 2138 } 2139 switch (func_num_args()) { 2140 case 0: $this->_cPtr=new_SimpleStopper(); break; 2141 default: $this->_cPtr=new_SimpleStopper($file); 2142 } 2143 } 2144} 2145 2146class XapianRangeProcessor { 2147 public $_cPtr=null; 2148 protected $_pData=array(); 2149 2150 function __set($var,$value) { 2151 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2152 $this->_pData[$var] = $value; 2153 } 2154 2155 function __get($var) { 2156 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2157 return $this->_pData[$var]; 2158 } 2159 2160 function __isset($var) { 2161 if ($var === 'thisown') return true; 2162 return array_key_exists($var, $this->_pData); 2163 } 2164 2165 function __construct($slot_=null,$str_=null,$flags_=null) { 2166 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__RangeProcessor') { 2167 $this->_cPtr=$slot_; 2168 return; 2169 } 2170 if (get_class($this) === 'XapianRangeProcessor') { 2171 $_this = null; 2172 } else { 2173 $_this = $this; 2174 } 2175 switch (func_num_args()) { 2176 case 0: $this->_cPtr=new_RangeProcessor($_this); break; 2177 case 1: $this->_cPtr=new_RangeProcessor($_this, $slot_); break; 2178 case 2: $this->_cPtr=new_RangeProcessor($_this, $slot_,$str_); break; 2179 default: $this->_cPtr=new_RangeProcessor($_this, $slot_,$str_,$flags_); 2180 } 2181 } 2182 2183 function check_range($b,$e) { 2184 $r=RangeProcessor_check_range($this->_cPtr,$b,$e); 2185 if (is_resource($r)) { 2186 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 2187 if (class_exists($c)) return new $c($r); 2188 return new XapianQuery($r); 2189 } 2190 return $r; 2191 } 2192 2193 function apply($begin,$end) { 2194 $r=RangeProcessor_apply($this->_cPtr,$begin,$end); 2195 if (is_resource($r)) { 2196 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 2197 if (class_exists($c)) return new $c($r); 2198 return new XapianQuery($r); 2199 } 2200 return $r; 2201 } 2202 2203 function release() { 2204 $r=RangeProcessor_release($this->_cPtr); 2205 if (is_resource($r)) { 2206 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 2207 if (class_exists($c)) return new $c($r); 2208 return new XapianRangeProcessor($r); 2209 } 2210 return $r; 2211 } 2212} 2213 2214class XapianDateRangeProcessor extends XapianRangeProcessor { 2215 public $_cPtr=null; 2216 2217 function __set($var,$value) { 2218 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2219 XapianRangeProcessor::__set($var,$value); 2220 } 2221 2222 function __get($var) { 2223 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2224 return XapianRangeProcessor::__get($var); 2225 } 2226 2227 function __isset($var) { 2228 if ($var === 'thisown') return true; 2229 return XapianRangeProcessor::__isset($var); 2230 } 2231 2232 function __construct($slot_,$flags__or_str_=null,$epoch_year__or_flags_=null,$epoch_year_=null) { 2233 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__DateRangeProcessor') { 2234 $this->_cPtr=$slot_; 2235 return; 2236 } 2237 switch (func_num_args()) { 2238 case 1: $this->_cPtr=new_DateRangeProcessor($slot_); break; 2239 case 2: $this->_cPtr=new_DateRangeProcessor($slot_,$flags__or_str_); break; 2240 case 3: $this->_cPtr=new_DateRangeProcessor($slot_,$flags__or_str_,$epoch_year__or_flags_); break; 2241 default: $this->_cPtr=new_DateRangeProcessor($slot_,$flags__or_str_,$epoch_year__or_flags_,$epoch_year_); 2242 } 2243 } 2244 2245 function apply($begin,$end) { 2246 $r=DateRangeProcessor_apply($this->_cPtr,$begin,$end); 2247 if (is_resource($r)) { 2248 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 2249 if (class_exists($c)) return new $c($r); 2250 return new XapianQuery($r); 2251 } 2252 return $r; 2253 } 2254} 2255 2256class XapianNumberRangeProcessor extends XapianRangeProcessor { 2257 public $_cPtr=null; 2258 2259 function __set($var,$value) { 2260 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2261 XapianRangeProcessor::__set($var,$value); 2262 } 2263 2264 function __get($var) { 2265 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2266 return XapianRangeProcessor::__get($var); 2267 } 2268 2269 function __isset($var) { 2270 if ($var === 'thisown') return true; 2271 return XapianRangeProcessor::__isset($var); 2272 } 2273 2274 function __construct($slot_,$str_=null,$flags_=0) { 2275 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__NumberRangeProcessor') { 2276 $this->_cPtr=$slot_; 2277 return; 2278 } 2279 switch (func_num_args()) { 2280 case 1: $this->_cPtr=new_NumberRangeProcessor($slot_); break; 2281 default: $this->_cPtr=new_NumberRangeProcessor($slot_,$str_,$flags_); 2282 } 2283 } 2284 2285 function apply($begin,$end) { 2286 $r=NumberRangeProcessor_apply($this->_cPtr,$begin,$end); 2287 if (is_resource($r)) { 2288 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 2289 if (class_exists($c)) return new $c($r); 2290 return new XapianQuery($r); 2291 } 2292 return $r; 2293 } 2294} 2295 2296abstract class XapianValueRangeProcessor { 2297 public $_cPtr=null; 2298 protected $_pData=array(); 2299 2300 function __set($var,$value) { 2301 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2302 $this->_pData[$var] = $value; 2303 } 2304 2305 function __get($var) { 2306 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2307 return $this->_pData[$var]; 2308 } 2309 2310 function __isset($var) { 2311 if ($var === 'thisown') return true; 2312 return array_key_exists($var, $this->_pData); 2313 } 2314 2315 function __construct($res=null) { 2316 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__ValueRangeProcessor') { 2317 $this->_cPtr=$res; 2318 return; 2319 } 2320 if (get_class($this) === 'XapianValueRangeProcessor') { 2321 $_this = null; 2322 } else { 2323 $_this = $this; 2324 } 2325 $this->_cPtr=new_ValueRangeProcessor($_this); 2326 } 2327 2328 function apply(&$begin,&$end) { 2329 return ValueRangeProcessor_apply($this->_cPtr,$begin,$end); 2330 } 2331 2332 function release() { 2333 $r=ValueRangeProcessor_release($this->_cPtr); 2334 $this->_cPtr = $r; 2335 return $this; 2336 } 2337} 2338 2339class XapianStringValueRangeProcessor extends XapianValueRangeProcessor { 2340 public $_cPtr=null; 2341 2342 function __set($var,$value) { 2343 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2344 XapianValueRangeProcessor::__set($var,$value); 2345 } 2346 2347 function __get($var) { 2348 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2349 return XapianValueRangeProcessor::__get($var); 2350 } 2351 2352 function __isset($var) { 2353 if ($var === 'thisown') return true; 2354 return XapianValueRangeProcessor::__isset($var); 2355 } 2356 2357 function __construct($slot_,$str_=null,$prefix_=true) { 2358 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__StringValueRangeProcessor') { 2359 $this->_cPtr=$slot_; 2360 return; 2361 } 2362 switch (func_num_args()) { 2363 case 1: $this->_cPtr=new_StringValueRangeProcessor($slot_); break; 2364 default: $this->_cPtr=new_StringValueRangeProcessor($slot_,$str_,$prefix_); 2365 } 2366 } 2367 2368 function apply(&$begin,&$end) { 2369 return StringValueRangeProcessor_apply($this->_cPtr,$begin,$end); 2370 } 2371} 2372 2373class XapianDateValueRangeProcessor extends XapianStringValueRangeProcessor { 2374 public $_cPtr=null; 2375 2376 function __set($var,$value) { 2377 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2378 XapianStringValueRangeProcessor::__set($var,$value); 2379 } 2380 2381 function __get($var) { 2382 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2383 return XapianStringValueRangeProcessor::__get($var); 2384 } 2385 2386 function __isset($var) { 2387 if ($var === 'thisown') return true; 2388 return XapianStringValueRangeProcessor::__isset($var); 2389 } 2390 2391 function __construct($slot_,$prefer_mdy__or_str_=null,$epoch_year__or_prefix_=null,$prefer_mdy_=null,$epoch_year_=null) { 2392 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__DateValueRangeProcessor') { 2393 $this->_cPtr=$slot_; 2394 return; 2395 } 2396 switch (func_num_args()) { 2397 case 1: $this->_cPtr=new_DateValueRangeProcessor($slot_); break; 2398 case 2: $this->_cPtr=new_DateValueRangeProcessor($slot_,$prefer_mdy__or_str_); break; 2399 case 3: $this->_cPtr=new_DateValueRangeProcessor($slot_,$prefer_mdy__or_str_,$epoch_year__or_prefix_); break; 2400 case 4: $this->_cPtr=new_DateValueRangeProcessor($slot_,$prefer_mdy__or_str_,$epoch_year__or_prefix_,$prefer_mdy_); break; 2401 default: $this->_cPtr=new_DateValueRangeProcessor($slot_,$prefer_mdy__or_str_,$epoch_year__or_prefix_,$prefer_mdy_,$epoch_year_); 2402 } 2403 } 2404 2405 function apply(&$begin,&$end) { 2406 return DateValueRangeProcessor_apply($this->_cPtr,$begin,$end); 2407 } 2408} 2409 2410class XapianNumberValueRangeProcessor extends XapianStringValueRangeProcessor { 2411 public $_cPtr=null; 2412 2413 function __set($var,$value) { 2414 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2415 XapianStringValueRangeProcessor::__set($var,$value); 2416 } 2417 2418 function __get($var) { 2419 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2420 return XapianStringValueRangeProcessor::__get($var); 2421 } 2422 2423 function __isset($var) { 2424 if ($var === 'thisown') return true; 2425 return XapianStringValueRangeProcessor::__isset($var); 2426 } 2427 2428 function __construct($slot_,$str_=null,$prefix_=true) { 2429 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__NumberValueRangeProcessor') { 2430 $this->_cPtr=$slot_; 2431 return; 2432 } 2433 switch (func_num_args()) { 2434 case 1: $this->_cPtr=new_NumberValueRangeProcessor($slot_); break; 2435 default: $this->_cPtr=new_NumberValueRangeProcessor($slot_,$str_,$prefix_); 2436 } 2437 } 2438 2439 function apply(&$begin,&$end) { 2440 return NumberValueRangeProcessor_apply($this->_cPtr,$begin,$end); 2441 } 2442} 2443 2444abstract class XapianFieldProcessor { 2445 public $_cPtr=null; 2446 protected $_pData=array(); 2447 2448 function __set($var,$value) { 2449 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2450 $this->_pData[$var] = $value; 2451 } 2452 2453 function __get($var) { 2454 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2455 return $this->_pData[$var]; 2456 } 2457 2458 function __isset($var) { 2459 if ($var === 'thisown') return true; 2460 return array_key_exists($var, $this->_pData); 2461 } 2462 2463 function __construct($res=null) { 2464 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__FieldProcessor') { 2465 $this->_cPtr=$res; 2466 return; 2467 } 2468 if (get_class($this) === 'XapianFieldProcessor') { 2469 $_this = null; 2470 } else { 2471 $_this = $this; 2472 } 2473 $this->_cPtr=new_FieldProcessor($_this); 2474 } 2475 2476 function apply($str) { 2477 $r=FieldProcessor_apply($this->_cPtr,$str); 2478 if (is_resource($r)) { 2479 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 2480 if (class_exists($c)) return new $c($r); 2481 return new XapianQuery($r); 2482 } 2483 return $r; 2484 } 2485 2486 function release() { 2487 $r=FieldProcessor_release($this->_cPtr); 2488 $this->_cPtr = $r; 2489 return $this; 2490 } 2491} 2492 2493class XapianQueryParser { 2494 protected $_rps=null; 2495 protected $_vrps=null; 2496 protected $_stopper=null; 2497 public $_cPtr=null; 2498 protected $_pData=array(); 2499 2500 function __set($var,$value) { 2501 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2502 $this->_pData[$var] = $value; 2503 } 2504 2505 function __get($var) { 2506 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2507 return $this->_pData[$var]; 2508 } 2509 2510 function __isset($var) { 2511 if ($var === 'thisown') return true; 2512 return array_key_exists($var, $this->_pData); 2513 } 2514 2515 const FLAG_BOOLEAN = 1; 2516 2517 const FLAG_PHRASE = 2; 2518 2519 const FLAG_LOVEHATE = 4; 2520 2521 const FLAG_BOOLEAN_ANY_CASE = 8; 2522 2523 const FLAG_WILDCARD = 16; 2524 2525 const FLAG_PURE_NOT = 32; 2526 2527 const FLAG_PARTIAL = 64; 2528 2529 const FLAG_SPELLING_CORRECTION = 128; 2530 2531 const FLAG_SYNONYM = 256; 2532 2533 const FLAG_AUTO_SYNONYMS = 512; 2534 2535 const FLAG_AUTO_MULTIWORD_SYNONYMS = 1024; 2536 2537 const FLAG_CJK_NGRAM = 2048; 2538 2539 const FLAG_ACCUMULATE = 65536; 2540 2541 const FLAG_DEFAULT = QueryParser_FLAG_DEFAULT; 2542 2543 const STEM_NONE = 0; 2544 2545 const STEM_SOME = QueryParser_STEM_SOME; 2546 2547 const STEM_ALL = QueryParser_STEM_ALL; 2548 2549 const STEM_ALL_Z = QueryParser_STEM_ALL_Z; 2550 2551 const STEM_SOME_FULL_POS = QueryParser_STEM_SOME_FULL_POS; 2552 2553 function __construct($res=null) { 2554 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__QueryParser') { 2555 $this->_cPtr=$res; 2556 return; 2557 } 2558 $this->_cPtr=new_QueryParser(); 2559 } 2560 2561 function set_stemmer(XapianStem $stemmer) { 2562 QueryParser_set_stemmer($this->_cPtr,$stemmer); 2563 } 2564 2565 function set_stemming_strategy($strategy) { 2566 QueryParser_set_stemming_strategy($this->_cPtr,$strategy); 2567 } 2568 2569 function set_stopper(XapianStopper $stop=null) { 2570 $this->_stopper=$stop; 2571 QueryParser_set_stopper($this->_cPtr,$stop); 2572 } 2573 2574 function set_default_op($default_op) { 2575 QueryParser_set_default_op($this->_cPtr,$default_op); 2576 } 2577 2578 function get_default_op() { 2579 return QueryParser_get_default_op($this->_cPtr); 2580 } 2581 2582 function set_database(XapianDatabase $db) { 2583 QueryParser_set_database($this->_cPtr,$db); 2584 } 2585 2586 function set_max_expansion($max_expansion,$max_type=null,$flags=null) { 2587 switch (func_num_args()) { 2588 case 1: QueryParser_set_max_expansion($this->_cPtr,$max_expansion); break; 2589 case 2: QueryParser_set_max_expansion($this->_cPtr,$max_expansion,$max_type); break; 2590 default: QueryParser_set_max_expansion($this->_cPtr,$max_expansion,$max_type,$flags); 2591 } 2592 } 2593 2594 function set_max_wildcard_expansion($arg1) { 2595 QueryParser_set_max_wildcard_expansion($this->_cPtr,$arg1); 2596 } 2597 2598 function parse_query($query_string,$flags=null,$default_prefix=null) { 2599 switch (func_num_args()) { 2600 case 1: $r=QueryParser_parse_query($this->_cPtr,$query_string); break; 2601 case 2: $r=QueryParser_parse_query($this->_cPtr,$query_string,$flags); break; 2602 default: $r=QueryParser_parse_query($this->_cPtr,$query_string,$flags,$default_prefix); 2603 } 2604 if (is_resource($r)) { 2605 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 2606 if (class_exists($c)) return new $c($r); 2607 return new XapianQuery($r); 2608 } 2609 return $r; 2610 } 2611 2612 function add_prefix($field,$prefix_or_proc) { 2613 QueryParser_add_prefix($this->_cPtr,$field,$prefix_or_proc); 2614 } 2615 2616 function add_boolean_prefix($field,$prefix_or_proc,$grouping_or_exclusive=null) { 2617 switch (func_num_args()) { 2618 case 2: QueryParser_add_boolean_prefix($this->_cPtr,$field,$prefix_or_proc); break; 2619 default: QueryParser_add_boolean_prefix($this->_cPtr,$field,$prefix_or_proc,$grouping_or_exclusive); 2620 } 2621 } 2622 2623 function stoplist_begin() { 2624 $r=QueryParser_stoplist_begin($this->_cPtr); 2625 if (is_resource($r)) { 2626 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 2627 if (class_exists($c)) return new $c($r); 2628 return new XapianTermIterator($r); 2629 } 2630 return $r; 2631 } 2632 2633 function stoplist_end() { 2634 $r=QueryParser_stoplist_end($this->_cPtr); 2635 if (is_resource($r)) { 2636 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 2637 if (class_exists($c)) return new $c($r); 2638 return new XapianTermIterator($r); 2639 } 2640 return $r; 2641 } 2642 2643 function unstem_begin($term) { 2644 $r=QueryParser_unstem_begin($this->_cPtr,$term); 2645 if (is_resource($r)) { 2646 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 2647 if (class_exists($c)) return new $c($r); 2648 return new XapianTermIterator($r); 2649 } 2650 return $r; 2651 } 2652 2653 function unstem_end($arg1) { 2654 $r=QueryParser_unstem_end($this->_cPtr,$arg1); 2655 if (is_resource($r)) { 2656 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 2657 if (class_exists($c)) return new $c($r); 2658 return new XapianTermIterator($r); 2659 } 2660 return $r; 2661 } 2662 2663 function add_rangeprocessor(XapianRangeProcessor $range_proc,$grouping=null) { 2664 $this->_rps[]=$range_proc; 2665 QueryParser_add_rangeprocessor($this->_cPtr,$range_proc,$grouping); 2666 } 2667 2668 function add_valuerangeprocessor(XapianValueRangeProcessor $vrproc) { 2669 $this->_vrps[]=$vrproc; 2670 QueryParser_add_valuerangeprocessor($this->_cPtr,$vrproc); 2671 } 2672 2673 function get_corrected_query_string() { 2674 return QueryParser_get_corrected_query_string($this->_cPtr); 2675 } 2676 2677 function get_description() { 2678 return QueryParser_get_description($this->_cPtr); 2679 } 2680} 2681 2682class XapianValueSetMatchDecider extends XapianMatchDecider { 2683 public $_cPtr=null; 2684 2685 function __set($var,$value) { 2686 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2687 XapianMatchDecider::__set($var,$value); 2688 } 2689 2690 function __get($var) { 2691 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2692 return XapianMatchDecider::__get($var); 2693 } 2694 2695 function __isset($var) { 2696 if ($var === 'thisown') return true; 2697 return XapianMatchDecider::__isset($var); 2698 } 2699 2700 function __construct($slot,$inclusive_=null) { 2701 if (is_resource($slot) && get_resource_type($slot) === '_p_Xapian__ValueSetMatchDecider') { 2702 $this->_cPtr=$slot; 2703 return; 2704 } 2705 $this->_cPtr=new_ValueSetMatchDecider($slot,$inclusive_); 2706 } 2707 2708 function add_value($value) { 2709 ValueSetMatchDecider_add_value($this->_cPtr,$value); 2710 } 2711 2712 function remove_value($value) { 2713 ValueSetMatchDecider_remove_value($this->_cPtr,$value); 2714 } 2715 2716 function apply($doc) { 2717 return ValueSetMatchDecider_apply($this->_cPtr,$doc); 2718 } 2719} 2720 2721abstract class XapianWeight { 2722 public $_cPtr=null; 2723 protected $_pData=array(); 2724 2725 function __set($var,$value) { 2726 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2727 $this->_pData[$var] = $value; 2728 } 2729 2730 function __get($var) { 2731 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2732 return $this->_pData[$var]; 2733 } 2734 2735 function __isset($var) { 2736 if ($var === 'thisown') return true; 2737 return array_key_exists($var, $this->_pData); 2738 } 2739 function __construct($h) { 2740 $this->_cPtr=$h; 2741 } 2742 2743 const TWO_STAGE_SMOOTHING = 1; 2744 2745 const DIRICHLET_SMOOTHING = 2; 2746 2747 const ABSOLUTE_DISCOUNT_SMOOTHING = 3; 2748 2749 const JELINEK_MERCER_SMOOTHING = 4; 2750 2751 const DIRICHLET_PLUS_SMOOTHING = 5; 2752 2753 function name() { 2754 return Weight_name($this->_cPtr); 2755 } 2756 2757 function get_sumpart($wdf,$doclen,$uniqterms) { 2758 return Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms); 2759 } 2760 2761 function get_maxpart() { 2762 return Weight_get_maxpart($this->_cPtr); 2763 } 2764 2765 function get_sumextra($doclen,$uniqterms) { 2766 return Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 2767 } 2768 2769 function get_maxextra() { 2770 return Weight_get_maxextra($this->_cPtr); 2771 } 2772} 2773 2774class XapianBoolWeight extends XapianWeight { 2775 public $_cPtr=null; 2776 2777 function __set($var,$value) { 2778 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2779 XapianWeight::__set($var,$value); 2780 } 2781 2782 function __get($var) { 2783 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2784 return XapianWeight::__get($var); 2785 } 2786 2787 function __isset($var) { 2788 if ($var === 'thisown') return true; 2789 return XapianWeight::__isset($var); 2790 } 2791 2792 function __construct($res=null) { 2793 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__BoolWeight') { 2794 $this->_cPtr=$res; 2795 return; 2796 } 2797 $this->_cPtr=new_BoolWeight(); 2798 } 2799 2800 function name() { 2801 return BoolWeight_name($this->_cPtr); 2802 } 2803 2804 function get_sumpart($wdf,$doclen,$uniqterms) { 2805 return BoolWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms); 2806 } 2807 2808 function get_maxpart() { 2809 return BoolWeight_get_maxpart($this->_cPtr); 2810 } 2811 2812 function get_sumextra($doclen,$uniqterms) { 2813 return BoolWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 2814 } 2815 2816 function get_maxextra() { 2817 return BoolWeight_get_maxextra($this->_cPtr); 2818 } 2819} 2820 2821class XapianTfIdfWeight extends XapianWeight { 2822 public $_cPtr=null; 2823 2824 function __set($var,$value) { 2825 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2826 XapianWeight::__set($var,$value); 2827 } 2828 2829 function __get($var) { 2830 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2831 return XapianWeight::__get($var); 2832 } 2833 2834 function __isset($var) { 2835 if ($var === 'thisown') return true; 2836 return XapianWeight::__isset($var); 2837 } 2838 2839 function __construct($normalizations=null) { 2840 if (is_resource($normalizations) && get_resource_type($normalizations) === '_p_Xapian__TfIdfWeight') { 2841 $this->_cPtr=$normalizations; 2842 return; 2843 } 2844 switch (func_num_args()) { 2845 case 0: $this->_cPtr=new_TfIdfWeight(); break; 2846 default: $this->_cPtr=new_TfIdfWeight($normalizations); 2847 } 2848 } 2849 2850 function name() { 2851 return TfIdfWeight_name($this->_cPtr); 2852 } 2853 2854 function get_sumpart($wdf,$doclen,$uniqterm) { 2855 return TfIdfWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterm); 2856 } 2857 2858 function get_maxpart() { 2859 return TfIdfWeight_get_maxpart($this->_cPtr); 2860 } 2861 2862 function get_sumextra($doclen,$uniqterms) { 2863 return TfIdfWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 2864 } 2865 2866 function get_maxextra() { 2867 return TfIdfWeight_get_maxextra($this->_cPtr); 2868 } 2869} 2870 2871class XapianBM25Weight extends XapianWeight { 2872 public $_cPtr=null; 2873 2874 function __set($var,$value) { 2875 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2876 XapianWeight::__set($var,$value); 2877 } 2878 2879 function __get($var) { 2880 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2881 return XapianWeight::__get($var); 2882 } 2883 2884 function __isset($var) { 2885 if ($var === 'thisown') return true; 2886 return XapianWeight::__isset($var); 2887 } 2888 2889 function __construct($k1=null,$k2=null,$k3=null,$b=null,$min_normlen=null) { 2890 if (is_resource($k1) && get_resource_type($k1) === '_p_Xapian__BM25Weight') { 2891 $this->_cPtr=$k1; 2892 return; 2893 } 2894 switch (func_num_args()) { 2895 case 0: $this->_cPtr=new_BM25Weight(); break; 2896 case 1: $this->_cPtr=new_BM25Weight($k1); break; 2897 case 2: $this->_cPtr=new_BM25Weight($k1,$k2); break; 2898 case 3: $this->_cPtr=new_BM25Weight($k1,$k2,$k3); break; 2899 case 4: $this->_cPtr=new_BM25Weight($k1,$k2,$k3,$b); break; 2900 default: $this->_cPtr=new_BM25Weight($k1,$k2,$k3,$b,$min_normlen); 2901 } 2902 } 2903 2904 function name() { 2905 return BM25Weight_name($this->_cPtr); 2906 } 2907 2908 function get_sumpart($wdf,$doclen,$uniqterm) { 2909 return BM25Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterm); 2910 } 2911 2912 function get_maxpart() { 2913 return BM25Weight_get_maxpart($this->_cPtr); 2914 } 2915 2916 function get_sumextra($doclen,$uniqterms) { 2917 return BM25Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 2918 } 2919 2920 function get_maxextra() { 2921 return BM25Weight_get_maxextra($this->_cPtr); 2922 } 2923} 2924 2925class XapianBM25PlusWeight extends XapianWeight { 2926 public $_cPtr=null; 2927 2928 function __set($var,$value) { 2929 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2930 XapianWeight::__set($var,$value); 2931 } 2932 2933 function __get($var) { 2934 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2935 return XapianWeight::__get($var); 2936 } 2937 2938 function __isset($var) { 2939 if ($var === 'thisown') return true; 2940 return XapianWeight::__isset($var); 2941 } 2942 2943 function __construct($k1=null,$k2=null,$k3=null,$b=null,$min_normlen=null,$delta=null) { 2944 if (is_resource($k1) && get_resource_type($k1) === '_p_Xapian__BM25PlusWeight') { 2945 $this->_cPtr=$k1; 2946 return; 2947 } 2948 switch (func_num_args()) { 2949 case 0: $this->_cPtr=new_BM25PlusWeight(); break; 2950 case 1: $this->_cPtr=new_BM25PlusWeight($k1); break; 2951 case 2: $this->_cPtr=new_BM25PlusWeight($k1,$k2); break; 2952 case 3: $this->_cPtr=new_BM25PlusWeight($k1,$k2,$k3); break; 2953 case 4: $this->_cPtr=new_BM25PlusWeight($k1,$k2,$k3,$b); break; 2954 case 5: $this->_cPtr=new_BM25PlusWeight($k1,$k2,$k3,$b,$min_normlen); break; 2955 default: $this->_cPtr=new_BM25PlusWeight($k1,$k2,$k3,$b,$min_normlen,$delta); 2956 } 2957 } 2958 2959 function name() { 2960 return BM25PlusWeight_name($this->_cPtr); 2961 } 2962 2963 function get_sumpart($wdf,$doclen,$uniqterm) { 2964 return BM25PlusWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterm); 2965 } 2966 2967 function get_maxpart() { 2968 return BM25PlusWeight_get_maxpart($this->_cPtr); 2969 } 2970 2971 function get_sumextra($doclen,$uniqterms) { 2972 return BM25PlusWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 2973 } 2974 2975 function get_maxextra() { 2976 return BM25PlusWeight_get_maxextra($this->_cPtr); 2977 } 2978} 2979 2980class XapianTradWeight extends XapianWeight { 2981 public $_cPtr=null; 2982 2983 function __set($var,$value) { 2984 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 2985 XapianWeight::__set($var,$value); 2986 } 2987 2988 function __get($var) { 2989 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 2990 return XapianWeight::__get($var); 2991 } 2992 2993 function __isset($var) { 2994 if ($var === 'thisown') return true; 2995 return XapianWeight::__isset($var); 2996 } 2997 2998 function __construct($k=1.0) { 2999 if (is_resource($k) && get_resource_type($k) === '_p_Xapian__TradWeight') { 3000 $this->_cPtr=$k; 3001 return; 3002 } 3003 $this->_cPtr=new_TradWeight($k); 3004 } 3005 3006 function name() { 3007 return TradWeight_name($this->_cPtr); 3008 } 3009 3010 function get_sumpart($wdf,$doclen,$uniqueterms) { 3011 return TradWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqueterms); 3012 } 3013 3014 function get_maxpart() { 3015 return TradWeight_get_maxpart($this->_cPtr); 3016 } 3017 3018 function get_sumextra($doclen,$uniqterms) { 3019 return TradWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 3020 } 3021 3022 function get_maxextra() { 3023 return TradWeight_get_maxextra($this->_cPtr); 3024 } 3025} 3026 3027class XapianInL2Weight extends XapianWeight { 3028 public $_cPtr=null; 3029 3030 function __set($var,$value) { 3031 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3032 XapianWeight::__set($var,$value); 3033 } 3034 3035 function __get($var) { 3036 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3037 return XapianWeight::__get($var); 3038 } 3039 3040 function __isset($var) { 3041 if ($var === 'thisown') return true; 3042 return XapianWeight::__isset($var); 3043 } 3044 3045 function __construct($c_=null) { 3046 if (is_resource($c_) && get_resource_type($c_) === '_p_Xapian__InL2Weight') { 3047 $this->_cPtr=$c_; 3048 return; 3049 } 3050 switch (func_num_args()) { 3051 case 0: $this->_cPtr=new_InL2Weight(); break; 3052 default: $this->_cPtr=new_InL2Weight($c_); 3053 } 3054 } 3055 3056 function name() { 3057 return InL2Weight_name($this->_cPtr); 3058 } 3059 3060 function get_sumpart($wdf,$doclen,$uniqterms) { 3061 return InL2Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms); 3062 } 3063 3064 function get_maxpart() { 3065 return InL2Weight_get_maxpart($this->_cPtr); 3066 } 3067 3068 function get_sumextra($doclen,$uniqterms) { 3069 return InL2Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 3070 } 3071 3072 function get_maxextra() { 3073 return InL2Weight_get_maxextra($this->_cPtr); 3074 } 3075} 3076 3077class XapianIfB2Weight extends XapianWeight { 3078 public $_cPtr=null; 3079 3080 function __set($var,$value) { 3081 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3082 XapianWeight::__set($var,$value); 3083 } 3084 3085 function __get($var) { 3086 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3087 return XapianWeight::__get($var); 3088 } 3089 3090 function __isset($var) { 3091 if ($var === 'thisown') return true; 3092 return XapianWeight::__isset($var); 3093 } 3094 3095 function __construct($c_=null) { 3096 if (is_resource($c_) && get_resource_type($c_) === '_p_Xapian__IfB2Weight') { 3097 $this->_cPtr=$c_; 3098 return; 3099 } 3100 switch (func_num_args()) { 3101 case 0: $this->_cPtr=new_IfB2Weight(); break; 3102 default: $this->_cPtr=new_IfB2Weight($c_); 3103 } 3104 } 3105 3106 function name() { 3107 return IfB2Weight_name($this->_cPtr); 3108 } 3109 3110 function get_sumpart($wdf,$doclen,$uniqterm) { 3111 return IfB2Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterm); 3112 } 3113 3114 function get_maxpart() { 3115 return IfB2Weight_get_maxpart($this->_cPtr); 3116 } 3117 3118 function get_sumextra($doclen,$uniqterms) { 3119 return IfB2Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 3120 } 3121 3122 function get_maxextra() { 3123 return IfB2Weight_get_maxextra($this->_cPtr); 3124 } 3125} 3126 3127class XapianIneB2Weight extends XapianWeight { 3128 public $_cPtr=null; 3129 3130 function __set($var,$value) { 3131 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3132 XapianWeight::__set($var,$value); 3133 } 3134 3135 function __get($var) { 3136 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3137 return XapianWeight::__get($var); 3138 } 3139 3140 function __isset($var) { 3141 if ($var === 'thisown') return true; 3142 return XapianWeight::__isset($var); 3143 } 3144 3145 function __construct($c_=null) { 3146 if (is_resource($c_) && get_resource_type($c_) === '_p_Xapian__IneB2Weight') { 3147 $this->_cPtr=$c_; 3148 return; 3149 } 3150 switch (func_num_args()) { 3151 case 0: $this->_cPtr=new_IneB2Weight(); break; 3152 default: $this->_cPtr=new_IneB2Weight($c_); 3153 } 3154 } 3155 3156 function name() { 3157 return IneB2Weight_name($this->_cPtr); 3158 } 3159 3160 function get_sumpart($wdf,$doclen,$uniqterms) { 3161 return IneB2Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms); 3162 } 3163 3164 function get_maxpart() { 3165 return IneB2Weight_get_maxpart($this->_cPtr); 3166 } 3167 3168 function get_sumextra($doclen,$uniqterms) { 3169 return IneB2Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 3170 } 3171 3172 function get_maxextra() { 3173 return IneB2Weight_get_maxextra($this->_cPtr); 3174 } 3175} 3176 3177class XapianBB2Weight extends XapianWeight { 3178 public $_cPtr=null; 3179 3180 function __set($var,$value) { 3181 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3182 XapianWeight::__set($var,$value); 3183 } 3184 3185 function __get($var) { 3186 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3187 return XapianWeight::__get($var); 3188 } 3189 3190 function __isset($var) { 3191 if ($var === 'thisown') return true; 3192 return XapianWeight::__isset($var); 3193 } 3194 3195 function __construct($c_=null) { 3196 if (is_resource($c_) && get_resource_type($c_) === '_p_Xapian__BB2Weight') { 3197 $this->_cPtr=$c_; 3198 return; 3199 } 3200 switch (func_num_args()) { 3201 case 0: $this->_cPtr=new_BB2Weight(); break; 3202 default: $this->_cPtr=new_BB2Weight($c_); 3203 } 3204 } 3205 3206 function name() { 3207 return BB2Weight_name($this->_cPtr); 3208 } 3209 3210 function get_sumpart($wdf,$doclen,$uniqterms) { 3211 return BB2Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms); 3212 } 3213 3214 function get_maxpart() { 3215 return BB2Weight_get_maxpart($this->_cPtr); 3216 } 3217 3218 function get_sumextra($doclen,$uniqterms) { 3219 return BB2Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 3220 } 3221 3222 function get_maxextra() { 3223 return BB2Weight_get_maxextra($this->_cPtr); 3224 } 3225} 3226 3227class XapianDLHWeight extends XapianWeight { 3228 public $_cPtr=null; 3229 3230 function __set($var,$value) { 3231 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3232 XapianWeight::__set($var,$value); 3233 } 3234 3235 function __get($var) { 3236 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3237 return XapianWeight::__get($var); 3238 } 3239 3240 function __isset($var) { 3241 if ($var === 'thisown') return true; 3242 return XapianWeight::__isset($var); 3243 } 3244 3245 function __construct($res=null) { 3246 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__DLHWeight') { 3247 $this->_cPtr=$res; 3248 return; 3249 } 3250 $this->_cPtr=new_DLHWeight(); 3251 } 3252 3253 function name() { 3254 return DLHWeight_name($this->_cPtr); 3255 } 3256 3257 function get_sumpart($wdf,$doclen,$uniqterms) { 3258 return DLHWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms); 3259 } 3260 3261 function get_maxpart() { 3262 return DLHWeight_get_maxpart($this->_cPtr); 3263 } 3264 3265 function get_sumextra($doclen,$uniqterms) { 3266 return DLHWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 3267 } 3268 3269 function get_maxextra() { 3270 return DLHWeight_get_maxextra($this->_cPtr); 3271 } 3272} 3273 3274class XapianPL2Weight extends XapianWeight { 3275 public $_cPtr=null; 3276 3277 function __set($var,$value) { 3278 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3279 XapianWeight::__set($var,$value); 3280 } 3281 3282 function __get($var) { 3283 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3284 return XapianWeight::__get($var); 3285 } 3286 3287 function __isset($var) { 3288 if ($var === 'thisown') return true; 3289 return XapianWeight::__isset($var); 3290 } 3291 3292 function __construct($c_=null) { 3293 if (is_resource($c_) && get_resource_type($c_) === '_p_Xapian__PL2Weight') { 3294 $this->_cPtr=$c_; 3295 return; 3296 } 3297 switch (func_num_args()) { 3298 case 0: $this->_cPtr=new_PL2Weight(); break; 3299 default: $this->_cPtr=new_PL2Weight($c_); 3300 } 3301 } 3302 3303 function name() { 3304 return PL2Weight_name($this->_cPtr); 3305 } 3306 3307 function get_sumpart($wdf,$doclen,$uniqterms) { 3308 return PL2Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms); 3309 } 3310 3311 function get_maxpart() { 3312 return PL2Weight_get_maxpart($this->_cPtr); 3313 } 3314 3315 function get_sumextra($doclen,$uniqterms) { 3316 return PL2Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 3317 } 3318 3319 function get_maxextra() { 3320 return PL2Weight_get_maxextra($this->_cPtr); 3321 } 3322} 3323 3324class XapianPL2PlusWeight extends XapianWeight { 3325 public $_cPtr=null; 3326 3327 function __set($var,$value) { 3328 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3329 XapianWeight::__set($var,$value); 3330 } 3331 3332 function __get($var) { 3333 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3334 return XapianWeight::__get($var); 3335 } 3336 3337 function __isset($var) { 3338 if ($var === 'thisown') return true; 3339 return XapianWeight::__isset($var); 3340 } 3341 3342 function __construct($c_=null,$delta=null) { 3343 if (is_resource($c_) && get_resource_type($c_) === '_p_Xapian__PL2PlusWeight') { 3344 $this->_cPtr=$c_; 3345 return; 3346 } 3347 switch (func_num_args()) { 3348 case 0: $this->_cPtr=new_PL2PlusWeight(); break; 3349 case 1: $this->_cPtr=new_PL2PlusWeight($c_); break; 3350 default: $this->_cPtr=new_PL2PlusWeight($c_,$delta); 3351 } 3352 } 3353 3354 function name() { 3355 return PL2PlusWeight_name($this->_cPtr); 3356 } 3357 3358 function get_sumpart($wdf,$doclen,$uniqterms) { 3359 return PL2PlusWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms); 3360 } 3361 3362 function get_maxpart() { 3363 return PL2PlusWeight_get_maxpart($this->_cPtr); 3364 } 3365 3366 function get_sumextra($doclen,$uniqterms) { 3367 return PL2PlusWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 3368 } 3369 3370 function get_maxextra() { 3371 return PL2PlusWeight_get_maxextra($this->_cPtr); 3372 } 3373} 3374 3375class XapianDPHWeight extends XapianWeight { 3376 public $_cPtr=null; 3377 3378 function __set($var,$value) { 3379 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3380 XapianWeight::__set($var,$value); 3381 } 3382 3383 function __get($var) { 3384 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3385 return XapianWeight::__get($var); 3386 } 3387 3388 function __isset($var) { 3389 if ($var === 'thisown') return true; 3390 return XapianWeight::__isset($var); 3391 } 3392 3393 function __construct($res=null) { 3394 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__DPHWeight') { 3395 $this->_cPtr=$res; 3396 return; 3397 } 3398 $this->_cPtr=new_DPHWeight(); 3399 } 3400 3401 function name() { 3402 return DPHWeight_name($this->_cPtr); 3403 } 3404 3405 function get_sumpart($wdf,$doclen,$uniqterms) { 3406 return DPHWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms); 3407 } 3408 3409 function get_maxpart() { 3410 return DPHWeight_get_maxpart($this->_cPtr); 3411 } 3412 3413 function get_sumextra($doclen,$uniqterms) { 3414 return DPHWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms); 3415 } 3416 3417 function get_maxextra() { 3418 return DPHWeight_get_maxextra($this->_cPtr); 3419 } 3420} 3421 3422class XapianLMWeight extends XapianWeight { 3423 public $_cPtr=null; 3424 3425 function __set($var,$value) { 3426 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3427 XapianWeight::__set($var,$value); 3428 } 3429 3430 function __get($var) { 3431 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3432 return XapianWeight::__get($var); 3433 } 3434 3435 function __isset($var) { 3436 if ($var === 'thisown') return true; 3437 return XapianWeight::__isset($var); 3438 } 3439 3440 function __construct($param_log_=0.0,$select_smoothing_=null,$param_smoothing1_=-1.0,$param_smoothing2_=-1.0) { 3441 if (is_resource($param_log_) && get_resource_type($param_log_) === '_p_Xapian__LMWeight') { 3442 $this->_cPtr=$param_log_; 3443 return; 3444 } 3445 switch (func_num_args()) { 3446 case 0: case 1: $this->_cPtr=new_LMWeight($param_log_); break; 3447 default: $this->_cPtr=new_LMWeight($param_log_,$select_smoothing_,$param_smoothing1_,$param_smoothing2_); 3448 } 3449 } 3450 3451 function name() { 3452 return LMWeight_name($this->_cPtr); 3453 } 3454 3455 function get_sumpart($wdf,$doclen,$uniqterm) { 3456 return LMWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterm); 3457 } 3458 3459 function get_maxpart() { 3460 return LMWeight_get_maxpart($this->_cPtr); 3461 } 3462 3463 function get_sumextra($doclen,$arg2) { 3464 return LMWeight_get_sumextra($this->_cPtr,$doclen,$arg2); 3465 } 3466 3467 function get_maxextra() { 3468 return LMWeight_get_maxextra($this->_cPtr); 3469 } 3470} 3471 3472class XapianCoordWeight extends XapianWeight { 3473 public $_cPtr=null; 3474 3475 function __set($var,$value) { 3476 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3477 XapianWeight::__set($var,$value); 3478 } 3479 3480 function __get($var) { 3481 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3482 return XapianWeight::__get($var); 3483 } 3484 3485 function __isset($var) { 3486 if ($var === 'thisown') return true; 3487 return XapianWeight::__isset($var); 3488 } 3489 3490 function init($factor_) { 3491 CoordWeight_init($this->_cPtr,$factor_); 3492 } 3493 3494 function __construct($res=null) { 3495 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__CoordWeight') { 3496 $this->_cPtr=$res; 3497 return; 3498 } 3499 $this->_cPtr=new_CoordWeight(); 3500 } 3501 3502 function name() { 3503 return CoordWeight_name($this->_cPtr); 3504 } 3505 3506 function get_sumpart($wdf,$doclen,$uniqterm) { 3507 return CoordWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterm); 3508 } 3509 3510 function get_maxpart() { 3511 return CoordWeight_get_maxpart($this->_cPtr); 3512 } 3513 3514 function get_sumextra($arg1,$arg2) { 3515 return CoordWeight_get_sumextra($this->_cPtr,$arg1,$arg2); 3516 } 3517 3518 function get_maxextra() { 3519 return CoordWeight_get_maxextra($this->_cPtr); 3520 } 3521} 3522 3523class XapianCompactor { 3524 public $_cPtr=null; 3525 protected $_pData=array(); 3526 3527 function __set($var,$value) { 3528 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3529 $this->_pData[$var] = $value; 3530 } 3531 3532 function __get($var) { 3533 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3534 return $this->_pData[$var]; 3535 } 3536 3537 function __isset($var) { 3538 if ($var === 'thisown') return true; 3539 return array_key_exists($var, $this->_pData); 3540 } 3541 3542 const STANDARD = 0; 3543 3544 const FULL = 1; 3545 3546 const FULLER = 2; 3547 3548 function __construct($res=null) { 3549 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__Compactor') { 3550 $this->_cPtr=$res; 3551 return; 3552 } 3553 if (get_class($this) === 'XapianCompactor') { 3554 $_this = null; 3555 } else { 3556 $_this = $this; 3557 } 3558 $this->_cPtr=new_Compactor($_this); 3559 } 3560 3561 function set_block_size($block_size) { 3562 Compactor_set_block_size($this->_cPtr,$block_size); 3563 } 3564 3565 function set_renumber($renumber) { 3566 Compactor_set_renumber($this->_cPtr,$renumber); 3567 } 3568 3569 function set_multipass($multipass) { 3570 Compactor_set_multipass($this->_cPtr,$multipass); 3571 } 3572 3573 function set_compaction_level($compaction) { 3574 Compactor_set_compaction_level($this->_cPtr,$compaction); 3575 } 3576 3577 function set_destdir($destdir) { 3578 Compactor_set_destdir($this->_cPtr,$destdir); 3579 } 3580 3581 function add_source($srcdir) { 3582 Compactor_add_source($this->_cPtr,$srcdir); 3583 } 3584 3585 function compact() { 3586 Compactor_compact($this->_cPtr); 3587 } 3588 3589 function set_status($table,$status) { 3590 Compactor_set_status($this->_cPtr,$table,$status); 3591 } 3592 3593 function resolve_duplicate_metadata($key,$num_tags,$tags) { 3594 return Compactor_resolve_duplicate_metadata($this->_cPtr,$key,$num_tags,$tags); 3595 } 3596} 3597 3598abstract class XapianPostingSource { 3599 public $_cPtr=null; 3600 protected $_pData=array(); 3601 3602 function __set($var,$value) { 3603 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3604 $this->_pData[$var] = $value; 3605 } 3606 3607 function __get($var) { 3608 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3609 return $this->_pData[$var]; 3610 } 3611 3612 function __isset($var) { 3613 if ($var === 'thisown') return true; 3614 return array_key_exists($var, $this->_pData); 3615 } 3616 3617 function __construct($res=null) { 3618 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__PostingSource') { 3619 $this->_cPtr=$res; 3620 return; 3621 } 3622 if (get_class($this) === 'XapianPostingSource') { 3623 $_this = null; 3624 } else { 3625 $_this = $this; 3626 } 3627 $this->_cPtr=new_PostingSource($_this); 3628 } 3629 3630 function get_termfreq_min() { 3631 return PostingSource_get_termfreq_min($this->_cPtr); 3632 } 3633 3634 function get_termfreq_est() { 3635 return PostingSource_get_termfreq_est($this->_cPtr); 3636 } 3637 3638 function get_termfreq_max() { 3639 return PostingSource_get_termfreq_max($this->_cPtr); 3640 } 3641 3642 function set_maxweight($max_weight) { 3643 PostingSource_set_maxweight($this->_cPtr,$max_weight); 3644 } 3645 3646 function get_maxweight() { 3647 return PostingSource_get_maxweight($this->_cPtr); 3648 } 3649 3650 function get_weight() { 3651 return PostingSource_get_weight($this->_cPtr); 3652 } 3653 3654 function get_docid() { 3655 return PostingSource_get_docid($this->_cPtr); 3656 } 3657 3658 function next($min_wt) { 3659 PostingSource_next($this->_cPtr,$min_wt); 3660 } 3661 3662 function skip_to($did,$min_wt) { 3663 PostingSource_skip_to($this->_cPtr,$did,$min_wt); 3664 } 3665 3666 function check($did,$min_wt) { 3667 return PostingSource_check($this->_cPtr,$did,$min_wt); 3668 } 3669 3670 function at_end() { 3671 return PostingSource_at_end($this->_cPtr); 3672 } 3673 3674 function name() { 3675 return PostingSource_name($this->_cPtr); 3676 } 3677 3678 function init(XapianDatabase $db) { 3679 PostingSource_init($this->_cPtr,$db); 3680 } 3681 3682 function get_description() { 3683 return PostingSource_get_description($this->_cPtr); 3684 } 3685 3686 function release() { 3687 $r=PostingSource_release($this->_cPtr); 3688 $this->_cPtr = $r; 3689 return $this; 3690 } 3691} 3692 3693class XapianValuePostingSource extends XapianPostingSource { 3694 public $_cPtr=null; 3695 3696 function __set($var,$value) { 3697 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3698 XapianPostingSource::__set($var,$value); 3699 } 3700 3701 function __get($var) { 3702 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3703 return XapianPostingSource::__get($var); 3704 } 3705 3706 function __isset($var) { 3707 if ($var === 'thisown') return true; 3708 return XapianPostingSource::__isset($var); 3709 } 3710 3711 function __construct($slot_) { 3712 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__ValuePostingSource') { 3713 $this->_cPtr=$slot_; 3714 return; 3715 } 3716 if (get_class($this) === 'XapianValuePostingSource') { 3717 $_this = null; 3718 } else { 3719 $_this = $this; 3720 } 3721 $this->_cPtr=new_ValuePostingSource($_this, $slot_); 3722 } 3723 3724 function get_termfreq_min() { 3725 return ValuePostingSource_get_termfreq_min($this->_cPtr); 3726 } 3727 3728 function get_termfreq_est() { 3729 return ValuePostingSource_get_termfreq_est($this->_cPtr); 3730 } 3731 3732 function get_termfreq_max() { 3733 return ValuePostingSource_get_termfreq_max($this->_cPtr); 3734 } 3735 3736 function next($min_wt) { 3737 ValuePostingSource_next($this->_cPtr,$min_wt); 3738 } 3739 3740 function skip_to($min_docid,$min_wt) { 3741 ValuePostingSource_skip_to($this->_cPtr,$min_docid,$min_wt); 3742 } 3743 3744 function check($min_docid,$min_wt) { 3745 return ValuePostingSource_check($this->_cPtr,$min_docid,$min_wt); 3746 } 3747 3748 function at_end() { 3749 return ValuePostingSource_at_end($this->_cPtr); 3750 } 3751 3752 function get_docid() { 3753 return ValuePostingSource_get_docid($this->_cPtr); 3754 } 3755 3756 function init(XapianDatabase $db_) { 3757 ValuePostingSource_init($this->_cPtr,$db_); 3758 } 3759 3760 function get_database() { 3761 $r=ValuePostingSource_get_database($this->_cPtr); 3762 if (is_resource($r)) { 3763 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 3764 if (class_exists($c)) return new $c($r); 3765 return new XapianDatabase($r); 3766 } 3767 return $r; 3768 } 3769 3770 function get_slot() { 3771 return ValuePostingSource_get_slot($this->_cPtr); 3772 } 3773 3774 function get_value() { 3775 return ValuePostingSource_get_value($this->_cPtr); 3776 } 3777 3778 function done() { 3779 ValuePostingSource_done($this->_cPtr); 3780 } 3781 3782 function get_started() { 3783 return ValuePostingSource_get_started($this->_cPtr); 3784 } 3785 3786 function set_termfreq_min($termfreq_min_) { 3787 ValuePostingSource_set_termfreq_min($this->_cPtr,$termfreq_min_); 3788 } 3789 3790 function set_termfreq_est($termfreq_est_) { 3791 ValuePostingSource_set_termfreq_est($this->_cPtr,$termfreq_est_); 3792 } 3793 3794 function set_termfreq_max($termfreq_max_) { 3795 ValuePostingSource_set_termfreq_max($this->_cPtr,$termfreq_max_); 3796 } 3797} 3798 3799class XapianValueWeightPostingSource extends XapianValuePostingSource { 3800 public $_cPtr=null; 3801 3802 function __set($var,$value) { 3803 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3804 XapianValuePostingSource::__set($var,$value); 3805 } 3806 3807 function __get($var) { 3808 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3809 return XapianValuePostingSource::__get($var); 3810 } 3811 3812 function __isset($var) { 3813 if ($var === 'thisown') return true; 3814 return XapianValuePostingSource::__isset($var); 3815 } 3816 3817 function __construct($slot_) { 3818 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__ValueWeightPostingSource') { 3819 $this->_cPtr=$slot_; 3820 return; 3821 } 3822 if (get_class($this) === 'XapianValueWeightPostingSource') { 3823 $_this = null; 3824 } else { 3825 $_this = $this; 3826 } 3827 $this->_cPtr=new_ValueWeightPostingSource($_this, $slot_); 3828 } 3829 3830 function get_weight() { 3831 return ValueWeightPostingSource_get_weight($this->_cPtr); 3832 } 3833 3834 function name() { 3835 return ValueWeightPostingSource_name($this->_cPtr); 3836 } 3837 3838 function init(XapianDatabase $db_) { 3839 ValueWeightPostingSource_init($this->_cPtr,$db_); 3840 } 3841 3842 function get_description() { 3843 return ValueWeightPostingSource_get_description($this->_cPtr); 3844 } 3845} 3846 3847class XapianDecreasingValueWeightPostingSource extends XapianValueWeightPostingSource { 3848 public $_cPtr=null; 3849 3850 function __set($var,$value) { 3851 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3852 XapianValueWeightPostingSource::__set($var,$value); 3853 } 3854 3855 function __get($var) { 3856 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3857 return XapianValueWeightPostingSource::__get($var); 3858 } 3859 3860 function __isset($var) { 3861 if ($var === 'thisown') return true; 3862 return XapianValueWeightPostingSource::__isset($var); 3863 } 3864 3865 function __construct($slot_,$range_start_=0,$range_end_=0) { 3866 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__DecreasingValueWeightPostingSource') { 3867 $this->_cPtr=$slot_; 3868 return; 3869 } 3870 $this->_cPtr=new_DecreasingValueWeightPostingSource($slot_,$range_start_,$range_end_); 3871 } 3872 3873 function get_weight() { 3874 return DecreasingValueWeightPostingSource_get_weight($this->_cPtr); 3875 } 3876 3877 function name() { 3878 return DecreasingValueWeightPostingSource_name($this->_cPtr); 3879 } 3880 3881 function init(XapianDatabase $db_) { 3882 DecreasingValueWeightPostingSource_init($this->_cPtr,$db_); 3883 } 3884 3885 function next($min_wt) { 3886 DecreasingValueWeightPostingSource_next($this->_cPtr,$min_wt); 3887 } 3888 3889 function skip_to($min_docid,$min_wt) { 3890 DecreasingValueWeightPostingSource_skip_to($this->_cPtr,$min_docid,$min_wt); 3891 } 3892 3893 function check($min_docid,$min_wt) { 3894 return DecreasingValueWeightPostingSource_check($this->_cPtr,$min_docid,$min_wt); 3895 } 3896 3897 function get_description() { 3898 return DecreasingValueWeightPostingSource_get_description($this->_cPtr); 3899 } 3900} 3901 3902class XapianValueMapPostingSource extends XapianValuePostingSource { 3903 public $_cPtr=null; 3904 3905 function __set($var,$value) { 3906 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3907 XapianValuePostingSource::__set($var,$value); 3908 } 3909 3910 function __get($var) { 3911 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3912 return XapianValuePostingSource::__get($var); 3913 } 3914 3915 function __isset($var) { 3916 if ($var === 'thisown') return true; 3917 return XapianValuePostingSource::__isset($var); 3918 } 3919 3920 function __construct($slot_) { 3921 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__ValueMapPostingSource') { 3922 $this->_cPtr=$slot_; 3923 return; 3924 } 3925 $this->_cPtr=new_ValueMapPostingSource($slot_); 3926 } 3927 3928 function add_mapping($key,$wt) { 3929 ValueMapPostingSource_add_mapping($this->_cPtr,$key,$wt); 3930 } 3931 3932 function clear_mappings() { 3933 ValueMapPostingSource_clear_mappings($this->_cPtr); 3934 } 3935 3936 function set_default_weight($wt) { 3937 ValueMapPostingSource_set_default_weight($this->_cPtr,$wt); 3938 } 3939 3940 function get_weight() { 3941 return ValueMapPostingSource_get_weight($this->_cPtr); 3942 } 3943 3944 function name() { 3945 return ValueMapPostingSource_name($this->_cPtr); 3946 } 3947 3948 function init(XapianDatabase $db_) { 3949 ValueMapPostingSource_init($this->_cPtr,$db_); 3950 } 3951 3952 function get_description() { 3953 return ValueMapPostingSource_get_description($this->_cPtr); 3954 } 3955} 3956 3957class XapianFixedWeightPostingSource extends XapianPostingSource { 3958 public $_cPtr=null; 3959 3960 function __set($var,$value) { 3961 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 3962 XapianPostingSource::__set($var,$value); 3963 } 3964 3965 function __get($var) { 3966 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 3967 return XapianPostingSource::__get($var); 3968 } 3969 3970 function __isset($var) { 3971 if ($var === 'thisown') return true; 3972 return XapianPostingSource::__isset($var); 3973 } 3974 3975 function __construct($wt) { 3976 if (is_resource($wt) && get_resource_type($wt) === '_p_Xapian__FixedWeightPostingSource') { 3977 $this->_cPtr=$wt; 3978 return; 3979 } 3980 $this->_cPtr=new_FixedWeightPostingSource($wt); 3981 } 3982 3983 function get_termfreq_min() { 3984 return FixedWeightPostingSource_get_termfreq_min($this->_cPtr); 3985 } 3986 3987 function get_termfreq_est() { 3988 return FixedWeightPostingSource_get_termfreq_est($this->_cPtr); 3989 } 3990 3991 function get_termfreq_max() { 3992 return FixedWeightPostingSource_get_termfreq_max($this->_cPtr); 3993 } 3994 3995 function get_weight() { 3996 return FixedWeightPostingSource_get_weight($this->_cPtr); 3997 } 3998 3999 function next($min_wt) { 4000 FixedWeightPostingSource_next($this->_cPtr,$min_wt); 4001 } 4002 4003 function skip_to($min_docid,$min_wt) { 4004 FixedWeightPostingSource_skip_to($this->_cPtr,$min_docid,$min_wt); 4005 } 4006 4007 function check($min_docid,$min_wt) { 4008 return FixedWeightPostingSource_check($this->_cPtr,$min_docid,$min_wt); 4009 } 4010 4011 function at_end() { 4012 return FixedWeightPostingSource_at_end($this->_cPtr); 4013 } 4014 4015 function get_docid() { 4016 return FixedWeightPostingSource_get_docid($this->_cPtr); 4017 } 4018 4019 function name() { 4020 return FixedWeightPostingSource_name($this->_cPtr); 4021 } 4022 4023 function init(XapianDatabase $db_) { 4024 FixedWeightPostingSource_init($this->_cPtr,$db_); 4025 } 4026 4027 function get_description() { 4028 return FixedWeightPostingSource_get_description($this->_cPtr); 4029 } 4030} 4031 4032abstract class XapianMatchSpy { 4033 public $_cPtr=null; 4034 protected $_pData=array(); 4035 4036 function __set($var,$value) { 4037 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 4038 $this->_pData[$var] = $value; 4039 } 4040 4041 function __get($var) { 4042 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 4043 return $this->_pData[$var]; 4044 } 4045 4046 function __isset($var) { 4047 if ($var === 'thisown') return true; 4048 return array_key_exists($var, $this->_pData); 4049 } 4050 4051 function __construct($res=null) { 4052 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__MatchSpy') { 4053 $this->_cPtr=$res; 4054 return; 4055 } 4056 if (get_class($this) === 'XapianMatchSpy') { 4057 $_this = null; 4058 } else { 4059 $_this = $this; 4060 } 4061 $this->_cPtr=new_MatchSpy($_this); 4062 } 4063 4064 function apply($doc,$wt) { 4065 MatchSpy_apply($this->_cPtr,$doc,$wt); 4066 } 4067 4068 function name() { 4069 return MatchSpy_name($this->_cPtr); 4070 } 4071 4072 function merge_results($serialised) { 4073 MatchSpy_merge_results($this->_cPtr,$serialised); 4074 } 4075 4076 function get_description() { 4077 return MatchSpy_get_description($this->_cPtr); 4078 } 4079 4080 function release() { 4081 $r=MatchSpy_release($this->_cPtr); 4082 $this->_cPtr = $r; 4083 return $this; 4084 } 4085} 4086 4087class XapianValueCountMatchSpy extends XapianMatchSpy { 4088 public $_cPtr=null; 4089 4090 function __set($var,$value) { 4091 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 4092 XapianMatchSpy::__set($var,$value); 4093 } 4094 4095 function __get($var) { 4096 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 4097 return XapianMatchSpy::__get($var); 4098 } 4099 4100 function __isset($var) { 4101 if ($var === 'thisown') return true; 4102 return XapianMatchSpy::__isset($var); 4103 } 4104 4105 function __construct($slot_=null) { 4106 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__ValueCountMatchSpy') { 4107 $this->_cPtr=$slot_; 4108 return; 4109 } 4110 switch (func_num_args()) { 4111 case 0: $this->_cPtr=new_ValueCountMatchSpy(); break; 4112 default: $this->_cPtr=new_ValueCountMatchSpy($slot_); 4113 } 4114 } 4115 4116 function get_total() { 4117 return ValueCountMatchSpy_get_total($this->_cPtr); 4118 } 4119 4120 function values_begin() { 4121 $r=ValueCountMatchSpy_values_begin($this->_cPtr); 4122 if (is_resource($r)) { 4123 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4124 if (class_exists($c)) return new $c($r); 4125 return new XapianTermIterator($r); 4126 } 4127 return $r; 4128 } 4129 4130 function values_end() { 4131 $r=ValueCountMatchSpy_values_end($this->_cPtr); 4132 if (is_resource($r)) { 4133 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4134 if (class_exists($c)) return new $c($r); 4135 return new XapianTermIterator($r); 4136 } 4137 return $r; 4138 } 4139 4140 function top_values_begin($maxvalues) { 4141 $r=ValueCountMatchSpy_top_values_begin($this->_cPtr,$maxvalues); 4142 if (is_resource($r)) { 4143 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4144 if (class_exists($c)) return new $c($r); 4145 return new XapianTermIterator($r); 4146 } 4147 return $r; 4148 } 4149 4150 function top_values_end($arg1) { 4151 $r=ValueCountMatchSpy_top_values_end($this->_cPtr,$arg1); 4152 if (is_resource($r)) { 4153 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4154 if (class_exists($c)) return new $c($r); 4155 return new XapianTermIterator($r); 4156 } 4157 return $r; 4158 } 4159 4160 function apply($doc,$wt) { 4161 ValueCountMatchSpy_apply($this->_cPtr,$doc,$wt); 4162 } 4163 4164 function name() { 4165 return ValueCountMatchSpy_name($this->_cPtr); 4166 } 4167 4168 function merge_results($serialised) { 4169 ValueCountMatchSpy_merge_results($this->_cPtr,$serialised); 4170 } 4171 4172 function get_description() { 4173 return ValueCountMatchSpy_get_description($this->_cPtr); 4174 } 4175} 4176 4177class XapianLatLongCoord { 4178 public $_cPtr=null; 4179 protected $_pData=array(); 4180 4181 function __set($var,$value) { 4182 if ($var === 'latitude') return LatLongCoord_latitude_set($this->_cPtr,$value); 4183 if ($var === 'longitude') return LatLongCoord_longitude_set($this->_cPtr,$value); 4184 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 4185 $this->_pData[$var] = $value; 4186 } 4187 4188 function __get($var) { 4189 if ($var === 'latitude') return LatLongCoord_latitude_get($this->_cPtr); 4190 if ($var === 'longitude') return LatLongCoord_longitude_get($this->_cPtr); 4191 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 4192 return $this->_pData[$var]; 4193 } 4194 4195 function __isset($var) { 4196 if (function_exists('LatLongCoord_'.$var.'_get')) return true; 4197 if ($var === 'thisown') return true; 4198 return array_key_exists($var, $this->_pData); 4199 } 4200 4201 function __construct($latitude_=null,$longitude_=null) { 4202 if (is_resource($latitude_) && get_resource_type($latitude_) === '_p_Xapian__LatLongCoord') { 4203 $this->_cPtr=$latitude_; 4204 return; 4205 } 4206 switch (func_num_args()) { 4207 case 0: $this->_cPtr=new_LatLongCoord(); break; 4208 case 1: $this->_cPtr=new_LatLongCoord($latitude_); break; 4209 default: $this->_cPtr=new_LatLongCoord($latitude_,$longitude_); 4210 } 4211 } 4212 4213 function unserialise($serialised) { 4214 LatLongCoord_unserialise($this->_cPtr,$serialised); 4215 } 4216 4217 function serialise() { 4218 return LatLongCoord_serialise($this->_cPtr); 4219 } 4220 4221 function get_description() { 4222 return LatLongCoord_get_description($this->_cPtr); 4223 } 4224} 4225 4226class XapianLatLongCoordsIterator { 4227 public $_cPtr=null; 4228 protected $_pData=array(); 4229 4230 function __set($var,$value) { 4231 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 4232 $this->_pData[$var] = $value; 4233 } 4234 4235 function __get($var) { 4236 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 4237 return $this->_pData[$var]; 4238 } 4239 4240 function __isset($var) { 4241 if ($var === 'thisown') return true; 4242 return array_key_exists($var, $this->_pData); 4243 } 4244 4245 function __construct($res=null) { 4246 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__LatLongCoordsIterator') { 4247 $this->_cPtr=$res; 4248 return; 4249 } 4250 $this->_cPtr=new_LatLongCoordsIterator(); 4251 } 4252 4253 function equals(XapianLatLongCoordsIterator $o) { 4254 return LatLongCoordsIterator_equals($this->_cPtr,$o); 4255 } 4256 4257 function get_coord() { 4258 $r=LatLongCoordsIterator_get_coord($this->_cPtr); 4259 if (is_resource($r)) { 4260 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4261 if (class_exists($c)) return new $c($r); 4262 return new XapianLatLongCoord($r); 4263 } 4264 return $r; 4265 } 4266 4267 function next() { 4268 LatLongCoordsIterator_next($this->_cPtr); 4269 } 4270} 4271 4272class XapianLatLongCoords { 4273 public $_cPtr=null; 4274 protected $_pData=array(); 4275 4276 function __set($var,$value) { 4277 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 4278 $this->_pData[$var] = $value; 4279 } 4280 4281 function __get($var) { 4282 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 4283 return $this->_pData[$var]; 4284 } 4285 4286 function __isset($var) { 4287 if ($var === 'thisown') return true; 4288 return array_key_exists($var, $this->_pData); 4289 } 4290 4291 function begin() { 4292 $r=LatLongCoords_begin($this->_cPtr); 4293 if (is_resource($r)) { 4294 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4295 if (class_exists($c)) return new $c($r); 4296 return new XapianLatLongCoordsIterator($r); 4297 } 4298 return $r; 4299 } 4300 4301 function end() { 4302 $r=LatLongCoords_end($this->_cPtr); 4303 if (is_resource($r)) { 4304 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4305 if (class_exists($c)) return new $c($r); 4306 return new XapianLatLongCoordsIterator($r); 4307 } 4308 return $r; 4309 } 4310 4311 function size() { 4312 return LatLongCoords_size($this->_cPtr); 4313 } 4314 4315 function is_empty() { 4316 return LatLongCoords_is_empty($this->_cPtr); 4317 } 4318 4319 function append($coord) { 4320 LatLongCoords_append($this->_cPtr,$coord); 4321 } 4322 4323 function __construct($coord=null) { 4324 if (is_resource($coord) && get_resource_type($coord) === '_p_Xapian__LatLongCoords') { 4325 $this->_cPtr=$coord; 4326 return; 4327 } 4328 switch (func_num_args()) { 4329 case 0: $this->_cPtr=new_LatLongCoords(); break; 4330 default: $this->_cPtr=new_LatLongCoords($coord); 4331 } 4332 } 4333 4334 function unserialise($serialised) { 4335 LatLongCoords_unserialise($this->_cPtr,$serialised); 4336 } 4337 4338 function serialise() { 4339 return LatLongCoords_serialise($this->_cPtr); 4340 } 4341 4342 function get_description() { 4343 return LatLongCoords_get_description($this->_cPtr); 4344 } 4345} 4346 4347abstract class XapianLatLongMetric { 4348 public $_cPtr=null; 4349 protected $_pData=array(); 4350 4351 function __set($var,$value) { 4352 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 4353 $this->_pData[$var] = $value; 4354 } 4355 4356 function __get($var) { 4357 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 4358 return $this->_pData[$var]; 4359 } 4360 4361 function __isset($var) { 4362 if ($var === 'thisown') return true; 4363 return array_key_exists($var, $this->_pData); 4364 } 4365 4366 function pointwise_distance($a,$b) { 4367 return LatLongMetric_pointwise_distance($this->_cPtr,$a,$b); 4368 } 4369 4370 function apply($a,$b_or_b_ptr,$b_len=null) { 4371 switch (func_num_args()) { 4372 case 2: $this->_cPtr=LatLongMetric_apply($this->_cPtr,$a,$b_or_b_ptr); break; 4373 default: $this->_cPtr=LatLongMetric_apply($this->_cPtr,$a,$b_or_b_ptr,$b_len); 4374 } 4375 return $r; 4376 } 4377 4378 function name() { 4379 return LatLongMetric_name($this->_cPtr); 4380 } 4381 4382 function __construct($res=null) { 4383 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__LatLongMetric') { 4384 $this->_cPtr=$res; 4385 return; 4386 } 4387 if (get_class($this) === 'XapianLatLongMetric') { 4388 $_this = null; 4389 } else { 4390 $_this = $this; 4391 } 4392 $this->_cPtr=new_LatLongMetric($_this); 4393 } 4394} 4395 4396class XapianGreatCircleMetric extends XapianLatLongMetric { 4397 public $_cPtr=null; 4398 4399 function __set($var,$value) { 4400 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 4401 XapianLatLongMetric::__set($var,$value); 4402 } 4403 4404 function __get($var) { 4405 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 4406 return XapianLatLongMetric::__get($var); 4407 } 4408 4409 function __isset($var) { 4410 if ($var === 'thisown') return true; 4411 return XapianLatLongMetric::__isset($var); 4412 } 4413 4414 function __construct($radius_=null) { 4415 if (is_resource($radius_) && get_resource_type($radius_) === '_p_Xapian__GreatCircleMetric') { 4416 $this->_cPtr=$radius_; 4417 return; 4418 } 4419 switch (func_num_args()) { 4420 case 0: $this->_cPtr=new_GreatCircleMetric(); break; 4421 default: $this->_cPtr=new_GreatCircleMetric($radius_); 4422 } 4423 } 4424 4425 function pointwise_distance($a,$b) { 4426 return GreatCircleMetric_pointwise_distance($this->_cPtr,$a,$b); 4427 } 4428 4429 function name() { 4430 return GreatCircleMetric_name($this->_cPtr); 4431 } 4432} 4433 4434class XapianLatLongDistancePostingSource extends XapianValuePostingSource { 4435 public $_cPtr=null; 4436 4437 function __set($var,$value) { 4438 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 4439 XapianValuePostingSource::__set($var,$value); 4440 } 4441 4442 function __get($var) { 4443 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 4444 return XapianValuePostingSource::__get($var); 4445 } 4446 4447 function __isset($var) { 4448 if ($var === 'thisown') return true; 4449 return XapianValuePostingSource::__isset($var); 4450 } 4451 4452 function __construct($slot_,$centre_=null,$metric__or_max_range_=null,$max_range__or_k1_=null,$k1__or_k2_=null,$k2_=null) { 4453 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__LatLongDistancePostingSource') { 4454 $this->_cPtr=$slot_; 4455 return; 4456 } 4457 switch (func_num_args()) { 4458 case 2: $this->_cPtr=new_LatLongDistancePostingSource($slot_,$centre_); break; 4459 case 3: $this->_cPtr=new_LatLongDistancePostingSource($slot_,$centre_,$metric__or_max_range_); break; 4460 case 4: $this->_cPtr=new_LatLongDistancePostingSource($slot_,$centre_,$metric__or_max_range_,$max_range__or_k1_); break; 4461 case 5: $this->_cPtr=new_LatLongDistancePostingSource($slot_,$centre_,$metric__or_max_range_,$max_range__or_k1_,$k1__or_k2_); break; 4462 default: $this->_cPtr=new_LatLongDistancePostingSource($slot_,$centre_,$metric__or_max_range_,$max_range__or_k1_,$k1__or_k2_,$k2_); 4463 } 4464 } 4465 4466 function next($min_wt) { 4467 LatLongDistancePostingSource_next($this->_cPtr,$min_wt); 4468 } 4469 4470 function skip_to($min_docid,$min_wt) { 4471 LatLongDistancePostingSource_skip_to($this->_cPtr,$min_docid,$min_wt); 4472 } 4473 4474 function check($min_docid,$min_wt) { 4475 return LatLongDistancePostingSource_check($this->_cPtr,$min_docid,$min_wt); 4476 } 4477 4478 function get_weight() { 4479 return LatLongDistancePostingSource_get_weight($this->_cPtr); 4480 } 4481 4482 function name() { 4483 return LatLongDistancePostingSource_name($this->_cPtr); 4484 } 4485 4486 function init(XapianDatabase $db_) { 4487 LatLongDistancePostingSource_init($this->_cPtr,$db_); 4488 } 4489 4490 function get_description() { 4491 return LatLongDistancePostingSource_get_description($this->_cPtr); 4492 } 4493} 4494 4495class XapianLatLongDistanceKeyMaker extends XapianKeyMaker { 4496 public $_cPtr=null; 4497 4498 function __set($var,$value) { 4499 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 4500 XapianKeyMaker::__set($var,$value); 4501 } 4502 4503 function __get($var) { 4504 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 4505 return XapianKeyMaker::__get($var); 4506 } 4507 4508 function __isset($var) { 4509 if ($var === 'thisown') return true; 4510 return XapianKeyMaker::__isset($var); 4511 } 4512 4513 function __construct($slot_,$centre_=null,$metric_=null,$defdistance=null) { 4514 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__LatLongDistanceKeyMaker') { 4515 $this->_cPtr=$slot_; 4516 return; 4517 } 4518 switch (func_num_args()) { 4519 case 2: $this->_cPtr=new_LatLongDistanceKeyMaker($slot_,$centre_); break; 4520 case 3: $this->_cPtr=new_LatLongDistanceKeyMaker($slot_,$centre_,$metric_); break; 4521 default: $this->_cPtr=new_LatLongDistanceKeyMaker($slot_,$centre_,$metric_,$defdistance); 4522 } 4523 } 4524 4525 function apply($doc) { 4526 return LatLongDistanceKeyMaker_apply($this->_cPtr,$doc); 4527 } 4528} 4529 4530class XapianDatabase { 4531 public $_cPtr=null; 4532 protected $_pData=array(); 4533 4534 function __set($var,$value) { 4535 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 4536 $this->_pData[$var] = $value; 4537 } 4538 4539 function __get($var) { 4540 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 4541 return $this->_pData[$var]; 4542 } 4543 4544 function __isset($var) { 4545 if ($var === 'thisown') return true; 4546 return array_key_exists($var, $this->_pData); 4547 } 4548 4549 function add_database(XapianDatabase $database) { 4550 Database_add_database($this->_cPtr,$database); 4551 } 4552 4553 function size() { 4554 return Database_size($this->_cPtr); 4555 } 4556 4557 function __construct($path_or_fd=null,$flags=0) { 4558 if (is_resource($path_or_fd) && get_resource_type($path_or_fd) === '_p_Xapian__Database') { 4559 $this->_cPtr=$path_or_fd; 4560 return; 4561 } 4562 switch (func_num_args()) { 4563 case 0: $this->_cPtr=new_Database(); break; 4564 default: $this->_cPtr=new_Database($path_or_fd,$flags); 4565 } 4566 } 4567 4568 function reopen() { 4569 return Database_reopen($this->_cPtr); 4570 } 4571 4572 function close() { 4573 Database_close($this->_cPtr); 4574 } 4575 4576 function get_description() { 4577 return Database_get_description($this->_cPtr); 4578 } 4579 4580 function postlist_begin($tname) { 4581 $r=Database_postlist_begin($this->_cPtr,$tname); 4582 if (is_resource($r)) { 4583 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4584 if (class_exists($c)) return new $c($r); 4585 return new XapianPostingIterator($r); 4586 } 4587 return $r; 4588 } 4589 4590 function postlist_end($arg1) { 4591 $r=Database_postlist_end($this->_cPtr,$arg1); 4592 if (is_resource($r)) { 4593 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4594 if (class_exists($c)) return new $c($r); 4595 return new XapianPostingIterator($r); 4596 } 4597 return $r; 4598 } 4599 4600 function termlist_begin($did) { 4601 $r=Database_termlist_begin($this->_cPtr,$did); 4602 if (is_resource($r)) { 4603 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4604 if (class_exists($c)) return new $c($r); 4605 return new XapianTermIterator($r); 4606 } 4607 return $r; 4608 } 4609 4610 function termlist_end($arg1) { 4611 $r=Database_termlist_end($this->_cPtr,$arg1); 4612 if (is_resource($r)) { 4613 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4614 if (class_exists($c)) return new $c($r); 4615 return new XapianTermIterator($r); 4616 } 4617 return $r; 4618 } 4619 4620 function has_positions() { 4621 return Database_has_positions($this->_cPtr); 4622 } 4623 4624 function positionlist_begin($did,$tname) { 4625 $r=Database_positionlist_begin($this->_cPtr,$did,$tname); 4626 if (is_resource($r)) { 4627 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4628 if (class_exists($c)) return new $c($r); 4629 return new XapianPositionIterator($r); 4630 } 4631 return $r; 4632 } 4633 4634 function positionlist_end($arg1,$arg2) { 4635 $r=Database_positionlist_end($this->_cPtr,$arg1,$arg2); 4636 if (is_resource($r)) { 4637 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4638 if (class_exists($c)) return new $c($r); 4639 return new XapianPositionIterator($r); 4640 } 4641 return $r; 4642 } 4643 4644 function allterms_begin($prefix=null) { 4645 switch (func_num_args()) { 4646 case 0: $r=Database_allterms_begin($this->_cPtr); break; 4647 default: $r=Database_allterms_begin($this->_cPtr,$prefix); 4648 } 4649 if (is_resource($r)) { 4650 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4651 if (class_exists($c)) return new $c($r); 4652 return new XapianTermIterator($r); 4653 } 4654 return $r; 4655 } 4656 4657 function allterms_end($arg1=null) { 4658 switch (func_num_args()) { 4659 case 0: $r=Database_allterms_end($this->_cPtr); break; 4660 default: $r=Database_allterms_end($this->_cPtr,$arg1); 4661 } 4662 if (is_resource($r)) { 4663 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4664 if (class_exists($c)) return new $c($r); 4665 return new XapianTermIterator($r); 4666 } 4667 return $r; 4668 } 4669 4670 function get_doccount() { 4671 return Database_get_doccount($this->_cPtr); 4672 } 4673 4674 function get_lastdocid() { 4675 return Database_get_lastdocid($this->_cPtr); 4676 } 4677 4678 function get_avlength() { 4679 return Database_get_avlength($this->_cPtr); 4680 } 4681 4682 function get_average_length() { 4683 return Database_get_average_length($this->_cPtr); 4684 } 4685 4686 function get_total_length() { 4687 return Database_get_total_length($this->_cPtr); 4688 } 4689 4690 function get_termfreq($tname) { 4691 return Database_get_termfreq($this->_cPtr,$tname); 4692 } 4693 4694 function term_exists($tname) { 4695 return Database_term_exists($this->_cPtr,$tname); 4696 } 4697 4698 function get_collection_freq($tname) { 4699 return Database_get_collection_freq($this->_cPtr,$tname); 4700 } 4701 4702 function get_value_freq($slot) { 4703 return Database_get_value_freq($this->_cPtr,$slot); 4704 } 4705 4706 function get_value_lower_bound($slot) { 4707 return Database_get_value_lower_bound($this->_cPtr,$slot); 4708 } 4709 4710 function get_value_upper_bound($slot) { 4711 return Database_get_value_upper_bound($this->_cPtr,$slot); 4712 } 4713 4714 function get_doclength_lower_bound() { 4715 return Database_get_doclength_lower_bound($this->_cPtr); 4716 } 4717 4718 function get_doclength_upper_bound() { 4719 return Database_get_doclength_upper_bound($this->_cPtr); 4720 } 4721 4722 function get_wdf_upper_bound($term) { 4723 return Database_get_wdf_upper_bound($this->_cPtr,$term); 4724 } 4725 4726 function valuestream_begin($slot) { 4727 $r=Database_valuestream_begin($this->_cPtr,$slot); 4728 if (is_resource($r)) { 4729 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4730 if (class_exists($c)) return new $c($r); 4731 return new XapianValueIterator($r); 4732 } 4733 return $r; 4734 } 4735 4736 function valuestream_end($arg1) { 4737 $r=Database_valuestream_end($this->_cPtr,$arg1); 4738 if (is_resource($r)) { 4739 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4740 if (class_exists($c)) return new $c($r); 4741 return new XapianValueIterator($r); 4742 } 4743 return $r; 4744 } 4745 4746 function get_doclength($did) { 4747 return Database_get_doclength($this->_cPtr,$did); 4748 } 4749 4750 function get_unique_terms($did) { 4751 return Database_get_unique_terms($this->_cPtr,$did); 4752 } 4753 4754 function keep_alive() { 4755 Database_keep_alive($this->_cPtr); 4756 } 4757 4758 function get_document($did,$flags=null) { 4759 switch (func_num_args()) { 4760 case 1: $r=Database_get_document($this->_cPtr,$did); break; 4761 default: $r=Database_get_document($this->_cPtr,$did,$flags); 4762 } 4763 if (is_resource($r)) { 4764 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4765 if (class_exists($c)) return new $c($r); 4766 return new XapianDocument($r); 4767 } 4768 return $r; 4769 } 4770 4771 function get_spelling_suggestion($word,$max_edit_distance=2) { 4772 return Database_get_spelling_suggestion($this->_cPtr,$word,$max_edit_distance); 4773 } 4774 4775 function spellings_begin() { 4776 $r=Database_spellings_begin($this->_cPtr); 4777 if (is_resource($r)) { 4778 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4779 if (class_exists($c)) return new $c($r); 4780 return new XapianTermIterator($r); 4781 } 4782 return $r; 4783 } 4784 4785 function spellings_end() { 4786 $r=Database_spellings_end($this->_cPtr); 4787 if (is_resource($r)) { 4788 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4789 if (class_exists($c)) return new $c($r); 4790 return new XapianTermIterator($r); 4791 } 4792 return $r; 4793 } 4794 4795 function synonyms_begin($term) { 4796 $r=Database_synonyms_begin($this->_cPtr,$term); 4797 if (is_resource($r)) { 4798 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4799 if (class_exists($c)) return new $c($r); 4800 return new XapianTermIterator($r); 4801 } 4802 return $r; 4803 } 4804 4805 function synonyms_end($arg1) { 4806 $r=Database_synonyms_end($this->_cPtr,$arg1); 4807 if (is_resource($r)) { 4808 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4809 if (class_exists($c)) return new $c($r); 4810 return new XapianTermIterator($r); 4811 } 4812 return $r; 4813 } 4814 4815 function synonym_keys_begin($prefix=null) { 4816 switch (func_num_args()) { 4817 case 0: $r=Database_synonym_keys_begin($this->_cPtr); break; 4818 default: $r=Database_synonym_keys_begin($this->_cPtr,$prefix); 4819 } 4820 if (is_resource($r)) { 4821 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4822 if (class_exists($c)) return new $c($r); 4823 return new XapianTermIterator($r); 4824 } 4825 return $r; 4826 } 4827 4828 function synonym_keys_end($arg1=null) { 4829 switch (func_num_args()) { 4830 case 0: $r=Database_synonym_keys_end($this->_cPtr); break; 4831 default: $r=Database_synonym_keys_end($this->_cPtr,$arg1); 4832 } 4833 if (is_resource($r)) { 4834 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4835 if (class_exists($c)) return new $c($r); 4836 return new XapianTermIterator($r); 4837 } 4838 return $r; 4839 } 4840 4841 function get_metadata($key) { 4842 return Database_get_metadata($this->_cPtr,$key); 4843 } 4844 4845 function metadata_keys_begin($prefix=null) { 4846 switch (func_num_args()) { 4847 case 0: $r=Database_metadata_keys_begin($this->_cPtr); break; 4848 default: $r=Database_metadata_keys_begin($this->_cPtr,$prefix); 4849 } 4850 if (is_resource($r)) { 4851 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4852 if (class_exists($c)) return new $c($r); 4853 return new XapianTermIterator($r); 4854 } 4855 return $r; 4856 } 4857 4858 function metadata_keys_end($arg1=null) { 4859 switch (func_num_args()) { 4860 case 0: $r=Database_metadata_keys_end($this->_cPtr); break; 4861 default: $r=Database_metadata_keys_end($this->_cPtr,$arg1); 4862 } 4863 if (is_resource($r)) { 4864 $c='Xapian'.substr(get_resource_type($r), (strpos(get_resource_type($r), '__') ? strpos(get_resource_type($r), '__') + 2 : 3)); 4865 if (class_exists($c)) return new $c($r); 4866 return new XapianTermIterator($r); 4867 } 4868 return $r; 4869 } 4870 4871 function get_uuid() { 4872 return Database_get_uuid($this->_cPtr); 4873 } 4874 4875 function locked() { 4876 return Database_locked($this->_cPtr); 4877 } 4878 4879 function get_revision() { 4880 return Database_get_revision($this->_cPtr); 4881 } 4882 4883 static function check($path_or_fd,$opts=0) { 4884 $r=Database_check($path_or_fd,$opts); 4885 return $r; 4886 } 4887 4888 function compact($output_or_fd,$flags=null,$block_size=null,$compactor=null) { 4889 switch (func_num_args()) { 4890 case 1: Database_compact($this->_cPtr,$output_or_fd); break; 4891 case 2: Database_compact($this->_cPtr,$output_or_fd,$flags); break; 4892 case 3: Database_compact($this->_cPtr,$output_or_fd,$flags,$block_size); break; 4893 default: Database_compact($this->_cPtr,$output_or_fd,$flags,$block_size,$compactor); 4894 } 4895 } 4896} 4897 4898class XapianWritableDatabase extends XapianDatabase { 4899 public $_cPtr=null; 4900 4901 function __set($var,$value) { 4902 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value); 4903 XapianDatabase::__set($var,$value); 4904 } 4905 4906 function __get($var) { 4907 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr); 4908 return XapianDatabase::__get($var); 4909 } 4910 4911 function __isset($var) { 4912 if ($var === 'thisown') return true; 4913 return XapianDatabase::__isset($var); 4914 } 4915 4916 function __construct($path=null,$flags=0,$block_size=0) { 4917 if (is_resource($path) && get_resource_type($path) === '_p_Xapian__WritableDatabase') { 4918 $this->_cPtr=$path; 4919 return; 4920 } 4921 switch (func_num_args()) { 4922 case 0: $this->_cPtr=new_WritableDatabase(); break; 4923 default: $this->_cPtr=new_WritableDatabase($path,$flags,$block_size); 4924 } 4925 } 4926 4927 function commit() { 4928 WritableDatabase_commit($this->_cPtr); 4929 } 4930 4931 function flush() { 4932 WritableDatabase_flush($this->_cPtr); 4933 } 4934 4935 function begin_transaction($flushed=true) { 4936 WritableDatabase_begin_transaction($this->_cPtr,$flushed); 4937 } 4938 4939 function commit_transaction() { 4940 WritableDatabase_commit_transaction($this->_cPtr); 4941 } 4942 4943 function cancel_transaction() { 4944 WritableDatabase_cancel_transaction($this->_cPtr); 4945 } 4946 4947 function add_document(XapianDocument $document) { 4948 return WritableDatabase_add_document($this->_cPtr,$document); 4949 } 4950 4951 function delete_document($did_or_unique_term) { 4952 WritableDatabase_delete_document($this->_cPtr,$did_or_unique_term); 4953 } 4954 4955 function replace_document($did_or_unique_term,XapianDocument $document) { 4956 return WritableDatabase_replace_document($this->_cPtr,$did_or_unique_term,$document); 4957 } 4958 4959 function add_spelling($word,$freqinc=1) { 4960 WritableDatabase_add_spelling($this->_cPtr,$word,$freqinc); 4961 } 4962 4963 function remove_spelling($word,$freqdec=1) { 4964 WritableDatabase_remove_spelling($this->_cPtr,$word,$freqdec); 4965 } 4966 4967 function add_synonym($term,$synonym) { 4968 WritableDatabase_add_synonym($this->_cPtr,$term,$synonym); 4969 } 4970 4971 function remove_synonym($term,$synonym) { 4972 WritableDatabase_remove_synonym($this->_cPtr,$term,$synonym); 4973 } 4974 4975 function clear_synonyms($term) { 4976 WritableDatabase_clear_synonyms($this->_cPtr,$term); 4977 } 4978 4979 function set_metadata($key,$metadata) { 4980 WritableDatabase_set_metadata($this->_cPtr,$key,$metadata); 4981 } 4982 4983 function get_description() { 4984 return WritableDatabase_get_description($this->_cPtr); 4985 } 4986} 4987 4988 4989?> 4990