3 /* ----------------------------------------------------------------------------
4 * This file was automatically generated by SWIG (http://www.swig.org).
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 * ----------------------------------------------------------------------------- */
13 // Try to load our extension if it's not already loaded.
14 if (!extension_loaded('xapian')) {
15 if (strtolower(substr(PHP_OS, 0, 3)) === 'win') {
16 if (!dl('php_xapian.dll')) return;
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;
22 if (!dl('xapian.'.PHP_SHLIB_SUFFIX)) return;
29 abstract class Xapian {
30 static function version_string() {
31 return version_string();
34 static function major_version() {
35 return major_version();
38 static function minor_version() {
39 return minor_version();
42 static function revision() {
46 const BAD_VALUENO = BAD_VALUENO;
48 const DB_CREATE = DB_CREATE;
50 const DB_CREATE_OR_OPEN = DB_CREATE_OR_OPEN;
52 const DB_CREATE_OR_OVERWRITE = DB_CREATE_OR_OVERWRITE;
54 const DB_OPEN = DB_OPEN;
56 const DB_NO_SYNC = DB_NO_SYNC;
58 const DB_FULL_SYNC = DB_FULL_SYNC;
60 const DB_DANGEROUS = DB_DANGEROUS;
62 const DB_NO_TERMLIST = DB_NO_TERMLIST;
64 const DB_BACKEND_CHERT = DB_BACKEND_CHERT;
66 const DB_BACKEND_GLASS = DB_BACKEND_GLASS;
68 const DB_BACKEND_INMEMORY = DB_BACKEND_INMEMORY;
70 const DB_BACKEND_STUB = DB_BACKEND_STUB;
72 const DB_RETRY_LOCK = DB_RETRY_LOCK;
74 const DBCHECK_SHORT_TREE = DBCHECK_SHORT_TREE;
76 const DBCHECK_FULL_TREE = DBCHECK_FULL_TREE;
78 const DBCHECK_SHOW_FREELIST = DBCHECK_SHOW_FREELIST;
80 const DBCHECK_SHOW_STATS = DBCHECK_SHOW_STATS;
82 const DBCHECK_FIX = DBCHECK_FIX;
84 const DBCOMPACT_MULTIPASS = DBCOMPACT_MULTIPASS;
86 const DBCOMPACT_NO_RENUMBER = DBCOMPACT_NO_RENUMBER;
88 const DBCOMPACT_SINGLE_FILE = DBCOMPACT_SINGLE_FILE;
90 const DOC_ASSUME_VALID = DOC_ASSUME_VALID;
92 const RP_SUFFIX = RP_SUFFIX;
94 const RP_REPEATED = RP_REPEATED;
96 const RP_DATE_PREFER_MDY = RP_DATE_PREFER_MDY;
98 static function sortable_serialise($value) {
99 return sortable_serialise($value);
102 static function sortable_unserialise($serialised) {
103 return sortable_unserialise($serialised);
106 static function miles_to_metres($miles) {
107 return miles_to_metres($miles);
110 static function metres_to_miles($metres) {
111 return metres_to_miles($metres);
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);
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);
126 static function 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);
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);
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);
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);
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);
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);
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);
177 static function BAD_VALUENO_get() {
178 return BAD_VALUENO_get();
182 /* PHP Proxy Classes */
183 class XapianPositionIterator implements Iterator {
185 protected $_pData=array();
187 function __set($var,$value) {
188 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
189 $this->_pData[$var] = $value;
192 function __get($var) {
193 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
194 return $this->_pData[$var];
197 function __isset($var) {
198 if ($var === 'thisown') return true;
199 return array_key_exists($var, $this->_pData);
202 function __construct($res=null) {
203 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__PositionIterator') {
207 $this->_cPtr=new_PositionIterator();
210 function skip_to($termpos) {
211 PositionIterator_skip_to($this->_cPtr,$termpos);
214 function get_description() {
215 return PositionIterator_get_description($this->_cPtr);
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);
229 return PositionIterator_current($this->_cPtr);
233 return PositionIterator_valid($this->_cPtr);
237 PositionIterator_rewind($this->_cPtr);
240 function equals(XapianPositionIterator $o) {
241 return PositionIterator_equals($this->_cPtr,$o);
244 function get_termpos() {
245 return PositionIterator_get_termpos($this->_cPtr);
249 PositionIterator_next($this->_cPtr);
253 class XapianPostingIterator implements Iterator {
255 protected $_pData=array();
257 function __set($var,$value) {
258 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
259 $this->_pData[$var] = $value;
262 function __get($var) {
263 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
264 return $this->_pData[$var];
267 function __isset($var) {
268 if ($var === 'thisown') return true;
269 return array_key_exists($var, $this->_pData);
272 function __construct($res=null) {
273 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__PostingIterator') {
277 $this->_cPtr=new_PostingIterator();
281 return PostingIterator_get_wdf($this->_cPtr);
284 function get_doclength() {
285 return PostingIterator_get_doclength($this->_cPtr);
288 function get_unique_terms() {
289 return PostingIterator_get_unique_terms($this->_cPtr);
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);
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);
312 function skip_to($did) {
313 PostingIterator_skip_to($this->_cPtr,$did);
316 function get_description() {
317 return PostingIterator_get_description($this->_cPtr);
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);
331 return PostingIterator_current($this->_cPtr);
335 return PostingIterator_valid($this->_cPtr);
339 PostingIterator_rewind($this->_cPtr);
342 function equals(XapianPostingIterator $o) {
343 return PostingIterator_equals($this->_cPtr,$o);
346 function get_docid() {
347 return PostingIterator_get_docid($this->_cPtr);
351 PostingIterator_next($this->_cPtr);
355 class XapianTermIterator implements Iterator {
357 protected $_pData=array();
359 function __set($var,$value) {
360 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
361 $this->_pData[$var] = $value;
364 function __get($var) {
365 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
366 return $this->_pData[$var];
369 function __isset($var) {
370 if ($var === 'thisown') return true;
371 return array_key_exists($var, $this->_pData);
374 function __construct($res=null) {
375 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__TermIterator') {
379 $this->_cPtr=new_TermIterator();
383 return TermIterator_get_wdf($this->_cPtr);
386 function get_termfreq() {
387 return TermIterator_get_termfreq($this->_cPtr);
390 function positionlist_count() {
391 return TermIterator_positionlist_count($this->_cPtr);
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);
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);
414 function skip_to($term) {
415 TermIterator_skip_to($this->_cPtr,$term);
418 function get_description() {
419 return TermIterator_get_description($this->_cPtr);
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);
433 return TermIterator_current($this->_cPtr);
437 return TermIterator_valid($this->_cPtr);
441 TermIterator_rewind($this->_cPtr);
444 function equals(XapianTermIterator $o) {
445 return TermIterator_equals($this->_cPtr,$o);
448 function get_term() {
449 return TermIterator_get_term($this->_cPtr);
453 TermIterator_next($this->_cPtr);
457 class XapianValueIterator implements Iterator {
459 protected $_pData=array();
461 function __set($var,$value) {
462 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
463 $this->_pData[$var] = $value;
466 function __get($var) {
467 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
468 return $this->_pData[$var];
471 function __isset($var) {
472 if ($var === 'thisown') return true;
473 return array_key_exists($var, $this->_pData);
476 function __construct($res=null) {
477 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__ValueIterator') {
481 $this->_cPtr=new_ValueIterator();
484 function get_docid() {
485 return ValueIterator_get_docid($this->_cPtr);
488 function get_valueno() {
489 return ValueIterator_get_valueno($this->_cPtr);
492 function skip_to($docid_or_slot) {
493 ValueIterator_skip_to($this->_cPtr,$docid_or_slot);
496 function check($docid) {
497 return ValueIterator_check($this->_cPtr,$docid);
500 function get_description() {
501 return ValueIterator_get_description($this->_cPtr);
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);
515 return ValueIterator_current($this->_cPtr);
519 return ValueIterator_valid($this->_cPtr);
523 ValueIterator_rewind($this->_cPtr);
526 function equals(XapianValueIterator $o) {
527 return ValueIterator_equals($this->_cPtr,$o);
530 function get_value() {
531 return ValueIterator_get_value($this->_cPtr);
535 ValueIterator_next($this->_cPtr);
539 class XapianDocument {
541 protected $_pData=array();
543 function __set($var,$value) {
544 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
545 $this->_pData[$var] = $value;
548 function __get($var) {
549 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
550 return $this->_pData[$var];
553 function __isset($var) {
554 if ($var === 'thisown') return true;
555 return array_key_exists($var, $this->_pData);
558 function __construct($res=null) {
559 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__Document') {
563 $this->_cPtr=new_Document();
566 function get_value($slot) {
567 return Document_get_value($this->_cPtr,$slot);
570 function add_value($slot,$value) {
571 Document_add_value($this->_cPtr,$slot,$value);
574 function remove_value($slot) {
575 Document_remove_value($this->_cPtr,$slot);
578 function clear_values() {
579 Document_clear_values($this->_cPtr);
582 function get_data() {
583 return Document_get_data($this->_cPtr);
586 function set_data($data) {
587 Document_set_data($this->_cPtr,$data);
590 function add_posting($tname,$tpos,$wdfinc=1) {
591 Document_add_posting($this->_cPtr,$tname,$tpos,$wdfinc);
594 function add_term($tname,$wdfinc=1) {
595 Document_add_term($this->_cPtr,$tname,$wdfinc);
598 function add_boolean_term($term) {
599 Document_add_boolean_term($this->_cPtr,$term);
602 function remove_posting($tname,$tpos,$wdfdec=1) {
603 Document_remove_posting($this->_cPtr,$tname,$tpos,$wdfdec);
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);
610 function remove_term($tname) {
611 Document_remove_term($this->_cPtr,$tname);
614 function clear_terms() {
615 Document_clear_terms($this->_cPtr);
618 function termlist_count() {
619 return Document_termlist_count($this->_cPtr);
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);
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);
642 function values_count() {
643 return Document_values_count($this->_cPtr);
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);
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);
666 function get_docid() {
667 return Document_get_docid($this->_cPtr);
670 function serialise() {
671 return Document_serialise($this->_cPtr);
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);
684 function get_description() {
685 return Document_get_description($this->_cPtr);
689 class XapianRegistry {
691 protected $_pData=array();
693 function __set($var,$value) {
694 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
695 $this->_pData[$var] = $value;
698 function __get($var) {
699 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
700 return $this->_pData[$var];
703 function __isset($var) {
704 if ($var === 'thisown') return true;
705 return array_key_exists($var, $this->_pData);
708 function __construct($res=null) {
709 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__Registry') {
713 $this->_cPtr=new_Registry();
716 function register_weighting_scheme(XapianWeight $wt) {
717 Registry_register_weighting_scheme($this->_cPtr,$wt);
720 function get_weighting_scheme($name) {
721 $r=Registry_get_weighting_scheme($this->_cPtr,$name);
726 function register_posting_source(XapianPostingSource $source) {
727 Registry_register_posting_source($this->_cPtr,$source);
730 function get_posting_source($name) {
731 $r=Registry_get_posting_source($this->_cPtr,$name);
736 function register_match_spy(XapianMatchSpy $spy) {
737 Registry_register_match_spy($this->_cPtr,$spy);
740 function get_match_spy($name) {
741 $r=Registry_get_match_spy($this->_cPtr,$name);
746 function register_lat_long_metric($metric) {
747 Registry_register_lat_long_metric($this->_cPtr,$metric);
750 function get_lat_long_metric($name) {
751 $r=Registry_get_lat_long_metric($this->_cPtr,$name);
760 protected $_pData=array();
762 function __set($var,$value) {
763 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
764 $this->_pData[$var] = $value;
767 function __get($var) {
768 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
769 return $this->_pData[$var];
772 function __isset($var) {
773 if ($var === 'thisown') return true;
774 return array_key_exists($var, $this->_pData);
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);
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);
801 const OP_AND_NOT = 2;
805 const OP_AND_MAYBE = 4;
813 const OP_VALUE_RANGE = 8;
815 const OP_SCALE_WEIGHT = 9;
817 const OP_ELITE_SET = 10;
819 const OP_VALUE_GE = 11;
821 const OP_VALUE_LE = 12;
823 const OP_SYNONYM = 13;
827 const OP_WILDCARD = 15;
829 const OP_INVALID = 99;
831 const WILDCARD_LIMIT_ERROR = 0;
833 const WILDCARD_LIMIT_FIRST = Query_WILDCARD_LIMIT_FIRST;
835 const WILDCARD_LIMIT_MOST_FREQUENT = Query_WILDCARD_LIMIT_MOST_FREQUENT;
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);
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);
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);
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);
877 function get_length() {
878 return Query_get_length($this->_cPtr);
881 function is_empty() {
882 return Query_is_empty($this->_cPtr);
885 function serialise() {
886 return Query_serialise($this->_cPtr);
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);
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);
902 function get_type() {
903 return Query_get_type($this->_cPtr);
906 function get_num_subqueries() {
907 return Query_get_num_subqueries($this->_cPtr);
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);
920 function get_description() {
921 return Query_get_description($this->_cPtr);
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;
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;
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_;
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);
951 abstract class XapianStemImplementation {
953 protected $_pData=array();
955 function __set($var,$value) {
956 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
957 $this->_pData[$var] = $value;
960 function __get($var) {
961 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
962 return $this->_pData[$var];
965 function __isset($var) {
966 if ($var === 'thisown') return true;
967 return array_key_exists($var, $this->_pData);
970 function __construct($res=null) {
971 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__StemImplementation') {
975 if (get_class($this) === 'XapianStemImplementation') {
980 $this->_cPtr=new_StemImplementation($_this);
983 function apply($word) {
984 return StemImplementation_apply($this->_cPtr,$word);
987 function get_description() {
988 return StemImplementation_get_description($this->_cPtr);
994 protected $_pData=array();
996 function __set($var,$value) {
997 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
998 $this->_pData[$var] = $value;
1001 function __get($var) {
1002 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
1003 return $this->_pData[$var];
1006 function __isset($var) {
1007 if ($var === 'thisown') return true;
1008 return array_key_exists($var, $this->_pData);
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;
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);
1022 function apply($word) {
1023 return Stem_apply($this->_cPtr,$word);
1026 function is_none() {
1027 return Stem_is_none($this->_cPtr);
1030 function get_description() {
1031 return Stem_get_description($this->_cPtr);
1034 static function get_available_languages() {
1035 return Stem_get_available_languages();
1039 class XapianTermGenerator {
1040 protected $_stopper=null;
1042 protected $_pData=array();
1044 function __set($var,$value) {
1045 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
1046 $this->_pData[$var] = $value;
1049 function __get($var) {
1050 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
1051 return $this->_pData[$var];
1054 function __isset($var) {
1055 if ($var === 'thisown') return true;
1056 return array_key_exists($var, $this->_pData);
1059 function __construct($res=null) {
1060 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__TermGenerator') {
1064 $this->_cPtr=new_TermGenerator();
1067 function set_stemmer(XapianStem $stemmer) {
1068 TermGenerator_set_stemmer($this->_cPtr,$stemmer);
1071 function set_stopper(XapianStopper $stop=null) {
1072 $this->_stopper=$stop;
1073 TermGenerator_set_stopper($this->_cPtr,$stop);
1076 function set_document(XapianDocument $doc) {
1077 TermGenerator_set_document($this->_cPtr,$doc);
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);
1090 function set_database(XapianDatabase $db) {
1091 TermGenerator_set_database($this->_cPtr,$db);
1094 const FLAG_SPELLING = 128;
1096 const FLAG_CJK_NGRAM = 2048;
1098 const STEM_NONE = 0;
1100 const STEM_SOME = TermGenerator_STEM_SOME;
1102 const STEM_ALL = TermGenerator_STEM_ALL;
1104 const STEM_ALL_Z = TermGenerator_STEM_ALL_Z;
1106 const STEM_SOME_FULL_POS = TermGenerator_STEM_SOME_FULL_POS;
1108 const STOP_NONE = 0;
1110 const STOP_ALL = TermGenerator_STOP_ALL;
1112 const STOP_STEMMED = TermGenerator_STOP_STEMMED;
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);
1122 function set_stemming_strategy($strategy) {
1123 TermGenerator_set_stemming_strategy($this->_cPtr,$strategy);
1126 function set_stopper_strategy($strategy) {
1127 TermGenerator_set_stopper_strategy($this->_cPtr,$strategy);
1130 function set_max_word_length($max_word_length) {
1131 TermGenerator_set_max_word_length($this->_cPtr,$max_word_length);
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);
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);
1148 function increase_termpos($delta=100) {
1149 TermGenerator_increase_termpos($this->_cPtr,$delta);
1152 function get_termpos() {
1153 return TermGenerator_get_termpos($this->_cPtr);
1156 function set_termpos($termpos) {
1157 TermGenerator_set_termpos($this->_cPtr,$termpos);
1160 function get_description() {
1161 return TermGenerator_get_description($this->_cPtr);
1167 protected $_pData=array();
1169 function __set($var,$value) {
1170 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
1171 $this->_pData[$var] = $value;
1174 function __get($var) {
1175 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
1176 return $this->_pData[$var];
1179 function __isset($var) {
1180 if ($var === 'thisown') return true;
1181 return array_key_exists($var, $this->_pData);
1184 function __construct($res=null) {
1185 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__MSet') {
1189 $this->_cPtr=new_MSet();
1192 function convert_to_percent($weight_or_it) {
1193 return MSet_convert_to_percent($this->_cPtr,$weight_or_it);
1196 function get_termfreq($term) {
1197 return MSet_get_termfreq($this->_cPtr,$term);
1200 function get_termweight($term) {
1201 return MSet_get_termweight($this->_cPtr,$term);
1204 function get_firstitem() {
1205 return MSet_get_firstitem($this->_cPtr);
1208 function get_matches_lower_bound() {
1209 return MSet_get_matches_lower_bound($this->_cPtr);
1212 function get_matches_estimated() {
1213 return MSet_get_matches_estimated($this->_cPtr);
1216 function get_matches_upper_bound() {
1217 return MSet_get_matches_upper_bound($this->_cPtr);
1220 function get_uncollapsed_matches_lower_bound() {
1221 return MSet_get_uncollapsed_matches_lower_bound($this->_cPtr);
1224 function get_uncollapsed_matches_estimated() {
1225 return MSet_get_uncollapsed_matches_estimated($this->_cPtr);
1228 function get_uncollapsed_matches_upper_bound() {
1229 return MSet_get_uncollapsed_matches_upper_bound($this->_cPtr);
1232 function get_max_attained() {
1233 return MSet_get_max_attained($this->_cPtr);
1236 function get_max_possible() {
1237 return MSet_get_max_possible($this->_cPtr);
1240 const SNIPPET_BACKGROUND_MODEL = 1;
1242 const SNIPPET_EXHAUSTIVE = 2;
1244 const SNIPPET_EMPTY_WITHOUT_MATCH = 4;
1246 const SNIPPET_CJK_NGRAM = 2048;
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);
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);
1270 return MSet_size($this->_cPtr);
1273 function is_empty() {
1274 return MSet_is_empty($this->_cPtr);
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);
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);
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);
1307 function get_description() {
1308 return MSet_get_description($this->_cPtr);
1311 function get_docid($i) {
1312 return MSet_get_docid($this->_cPtr,$i);
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);
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);
1335 function get_document_percentage($i) {
1336 return MSet_get_document_percentage($this->_cPtr,$i);
1340 class XapianMSetIterator implements Iterator {
1342 protected $_pData=array();
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;
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];
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);
1364 function __construct($res=null) {
1365 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__MSetIterator') {
1369 $this->_cPtr=new_MSetIterator();
1372 function get_rank() {
1373 return MSetIterator_get_rank($this->_cPtr);
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);
1386 function get_weight() {
1387 return MSetIterator_get_weight($this->_cPtr);
1390 function get_collapse_key() {
1391 return MSetIterator_get_collapse_key($this->_cPtr);
1394 function get_collapse_count() {
1395 return MSetIterator_get_collapse_count($this->_cPtr);
1398 function get_sort_key() {
1399 return MSetIterator_get_sort_key($this->_cPtr);
1402 function get_percent() {
1403 return MSetIterator_get_percent($this->_cPtr);
1406 function get_description() {
1407 return MSetIterator_get_description($this->_cPtr);
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);
1420 function current() {
1421 return MSetIterator_current($this->_cPtr);
1425 return MSetIterator_valid($this->_cPtr);
1429 MSetIterator_rewind($this->_cPtr);
1432 function equals(XapianMSetIterator $o) {
1433 return MSetIterator_equals($this->_cPtr,$o);
1436 function get_docid() {
1437 return MSetIterator_get_docid($this->_cPtr);
1441 MSetIterator_next($this->_cPtr);
1445 MSetIterator_prev($this->_cPtr);
1451 protected $_pData=array();
1453 function __set($var,$value) {
1454 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
1455 $this->_pData[$var] = $value;
1458 function __get($var) {
1459 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
1460 return $this->_pData[$var];
1463 function __isset($var) {
1464 if ($var === 'thisown') return true;
1465 return array_key_exists($var, $this->_pData);
1468 function __construct($res=null) {
1469 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__ESet') {
1473 $this->_cPtr=new_ESet();
1477 return ESet_size($this->_cPtr);
1480 function is_empty() {
1481 return ESet_is_empty($this->_cPtr);
1484 function get_ebound() {
1485 return ESet_get_ebound($this->_cPtr);
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);
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);
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);
1518 function get_description() {
1519 return ESet_get_description($this->_cPtr);
1523 class XapianESetIterator implements Iterator {
1525 protected $_pData=array();
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;
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];
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);
1547 function __construct($res=null) {
1548 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__ESetIterator') {
1552 $this->_cPtr=new_ESetIterator();
1555 function get_weight() {
1556 return ESetIterator_get_weight($this->_cPtr);
1559 function get_description() {
1560 return ESetIterator_get_description($this->_cPtr);
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);
1573 function current() {
1574 return ESetIterator_current($this->_cPtr);
1578 return ESetIterator_valid($this->_cPtr);
1582 ESetIterator_rewind($this->_cPtr);
1585 function equals(XapianESetIterator $o) {
1586 return ESetIterator_equals($this->_cPtr,$o);
1589 function get_term() {
1590 return ESetIterator_get_term($this->_cPtr);
1594 ESetIterator_next($this->_cPtr);
1598 ESetIterator_prev($this->_cPtr);
1604 protected $_pData=array();
1606 function __set($var,$value) {
1607 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
1608 $this->_pData[$var] = $value;
1611 function __get($var) {
1612 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
1613 return $this->_pData[$var];
1616 function __isset($var) {
1617 if ($var === 'thisown') return true;
1618 return array_key_exists($var, $this->_pData);
1621 function __construct($res=null) {
1622 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__RSet') {
1626 $this->_cPtr=new_RSet();
1630 return RSet_size($this->_cPtr);
1633 function is_empty() {
1634 return RSet_is_empty($this->_cPtr);
1637 function add_document($did_or_i) {
1638 RSet_add_document($this->_cPtr,$did_or_i);
1641 function remove_document($did_or_i) {
1642 RSet_remove_document($this->_cPtr,$did_or_i);
1645 function contains($did_or_i) {
1646 return RSet_contains($this->_cPtr,$did_or_i);
1649 function get_description() {
1650 return RSet_get_description($this->_cPtr);
1654 abstract class XapianMatchDecider {
1656 protected $_pData=array();
1658 function __set($var,$value) {
1659 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
1660 $this->_pData[$var] = $value;
1663 function __get($var) {
1664 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
1665 return $this->_pData[$var];
1668 function __isset($var) {
1669 if ($var === 'thisown') return true;
1670 return array_key_exists($var, $this->_pData);
1673 function __construct($res=null) {
1674 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__MatchDecider') {
1678 if (get_class($this) === 'XapianMatchDecider') {
1683 $this->_cPtr=new_MatchDecider($_this);
1686 function apply($doc) {
1687 return MatchDecider_apply($this->_cPtr,$doc);
1691 class XapianEnquire {
1692 protected $_ps=null;
1693 protected $_sorter=null;
1694 protected $_spies=null;
1696 protected $_pData=array();
1698 function __set($var,$value) {
1699 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
1700 $this->_pData[$var] = $value;
1703 function __get($var) {
1704 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
1705 return $this->_pData[$var];
1708 function __isset($var) {
1709 if ($var === 'thisown') return true;
1710 return array_key_exists($var, $this->_pData);
1713 function __construct($database) {
1714 if (is_resource($database) && get_resource_type($database) === '_p_Xapian__Enquire') {
1715 $this->_cPtr=$database;
1718 $this->_cPtr=new_Enquire($database);
1721 function set_query(XapianQuery $query,$qlen=0) {
1722 $this->_ps=$query->_ps;
1723 Enquire_set_query($this->_cPtr,$query,$qlen);
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);
1736 function add_matchspy(XapianMatchSpy $spy) {
1737 $this->_spies[]=$spy;
1738 Enquire_add_matchspy($this->_cPtr,$spy);
1741 function clear_matchspies() {
1743 Enquire_clear_matchspies($this->_cPtr);
1746 function set_weighting_scheme(XapianWeight $weight_) {
1747 Enquire_set_weighting_scheme($this->_cPtr,$weight_);
1750 function set_expansion_scheme($eweightname_,$expand_k_=1.0) {
1751 Enquire_set_expansion_scheme($this->_cPtr,$eweightname_,$expand_k_);
1754 function set_collapse_key($collapse_key,$collapse_max=1) {
1755 Enquire_set_collapse_key($this->_cPtr,$collapse_key,$collapse_max);
1758 const ASCENDING = 1;
1760 const DESCENDING = 0;
1762 const DONT_CARE = 2;
1764 function set_docid_order($order) {
1765 Enquire_set_docid_order($this->_cPtr,$order);
1768 function set_cutoff($percent_cutoff,$weight_cutoff=0.0) {
1769 Enquire_set_cutoff($this->_cPtr,$percent_cutoff,$weight_cutoff);
1772 function set_sort_by_relevance() {
1773 Enquire_set_sort_by_relevance($this->_cPtr);
1776 function set_sort_by_value($sort_key,$reverse) {
1777 Enquire_set_sort_by_value($this->_cPtr,$sort_key,$reverse);
1780 function set_sort_by_key(XapianKeyMaker $sorter,$reverse) {
1781 $this->_sorter=$sorter;
1782 Enquire_set_sort_by_key($this->_cPtr,$sorter,$reverse);
1785 function set_sort_by_value_then_relevance($sort_key,$reverse) {
1786 Enquire_set_sort_by_value_then_relevance($this->_cPtr,$sort_key,$reverse);
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);
1794 function set_sort_by_relevance_then_value($sort_key,$reverse) {
1795 Enquire_set_sort_by_relevance_then_value($this->_cPtr,$sort_key,$reverse);
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);
1803 function set_time_limit($time_limit) {
1804 Enquire_set_time_limit($this->_cPtr,$time_limit);
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);
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);
1822 const INCLUDE_QUERY_TERMS = Enquire_INCLUDE_QUERY_TERMS;
1824 const USE_EXACT_TERMFREQ = Enquire_USE_EXACT_TERMFREQ;
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);
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);
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);
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);
1862 function get_description() {
1863 return Enquire_get_description($this->_cPtr);
1866 function get_matching_terms($item) {
1867 return Enquire_get_matching_terms($this->_cPtr,$item);
1871 abstract class XapianExpandDecider {
1873 protected $_pData=array();
1875 function __set($var,$value) {
1876 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
1877 $this->_pData[$var] = $value;
1880 function __get($var) {
1881 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
1882 return $this->_pData[$var];
1885 function __isset($var) {
1886 if ($var === 'thisown') return true;
1887 return array_key_exists($var, $this->_pData);
1890 function __construct($res=null) {
1891 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__ExpandDecider') {
1895 if (get_class($this) === 'XapianExpandDecider') {
1900 $this->_cPtr=new_ExpandDecider($_this);
1903 function apply($term) {
1904 return ExpandDecider_apply($this->_cPtr,$term);
1907 function release() {
1908 $r=ExpandDecider_release($this->_cPtr);
1914 class XapianExpandDeciderAnd extends XapianExpandDecider {
1917 function __set($var,$value) {
1918 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
1919 XapianExpandDecider::__set($var,$value);
1922 function __get($var) {
1923 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
1924 return XapianExpandDecider::__get($var);
1927 function __isset($var) {
1928 if ($var === 'thisown') return true;
1929 return XapianExpandDecider::__isset($var);
1932 function __construct($first_,$second_=null) {
1933 if (is_resource($first_) && get_resource_type($first_) === '_p_Xapian__ExpandDeciderAnd') {
1934 $this->_cPtr=$first_;
1937 $this->_cPtr=new_ExpandDeciderAnd($first_,$second_);
1940 function apply($term) {
1941 return ExpandDeciderAnd_apply($this->_cPtr,$term);
1945 class XapianExpandDeciderFilterPrefix extends XapianExpandDecider {
1948 function __set($var,$value) {
1949 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
1950 XapianExpandDecider::__set($var,$value);
1953 function __get($var) {
1954 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
1955 return XapianExpandDecider::__get($var);
1958 function __isset($var) {
1959 if ($var === 'thisown') return true;
1960 return XapianExpandDecider::__isset($var);
1963 function __construct($prefix_) {
1964 if (is_resource($prefix_) && get_resource_type($prefix_) === '_p_Xapian__ExpandDeciderFilterPrefix') {
1965 $this->_cPtr=$prefix_;
1968 $this->_cPtr=new_ExpandDeciderFilterPrefix($prefix_);
1971 function apply($term) {
1972 return ExpandDeciderFilterPrefix_apply($this->_cPtr,$term);
1976 abstract class XapianKeyMaker {
1978 protected $_pData=array();
1980 function __set($var,$value) {
1981 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
1982 $this->_pData[$var] = $value;
1985 function __get($var) {
1986 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
1987 return $this->_pData[$var];
1990 function __isset($var) {
1991 if ($var === 'thisown') return true;
1992 return array_key_exists($var, $this->_pData);
1995 function __construct($res=null) {
1996 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__KeyMaker') {
2000 if (get_class($this) === 'XapianKeyMaker') {
2005 $this->_cPtr=new_KeyMaker($_this);
2008 function apply($doc) {
2009 return KeyMaker_apply($this->_cPtr,$doc);
2012 function release() {
2013 $r=KeyMaker_release($this->_cPtr);
2019 class XapianMultiValueKeyMaker extends XapianKeyMaker {
2022 function __set($var,$value) {
2023 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2024 XapianKeyMaker::__set($var,$value);
2027 function __get($var) {
2028 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2029 return XapianKeyMaker::__get($var);
2032 function __isset($var) {
2033 if ($var === 'thisown') return true;
2034 return XapianKeyMaker::__isset($var);
2037 function __construct($res=null) {
2038 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__MultiValueKeyMaker') {
2042 $this->_cPtr=new_MultiValueKeyMaker();
2045 function apply($doc) {
2046 return MultiValueKeyMaker_apply($this->_cPtr,$doc);
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);
2057 abstract class XapianStopper {
2059 protected $_pData=array();
2061 function __set($var,$value) {
2062 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2063 $this->_pData[$var] = $value;
2066 function __get($var) {
2067 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2068 return $this->_pData[$var];
2071 function __isset($var) {
2072 if ($var === 'thisown') return true;
2073 return array_key_exists($var, $this->_pData);
2076 function __construct($res=null) {
2077 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__Stopper') {
2081 if (get_class($this) === 'XapianStopper') {
2086 $this->_cPtr=new_Stopper($_this);
2089 function apply($term) {
2090 return Stopper_apply($this->_cPtr,$term);
2093 function get_description() {
2094 return Stopper_get_description($this->_cPtr);
2097 function release() {
2098 $r=Stopper_release($this->_cPtr);
2104 class XapianSimpleStopper extends XapianStopper {
2107 function __set($var,$value) {
2108 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2109 XapianStopper::__set($var,$value);
2112 function __get($var) {
2113 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2114 return XapianStopper::__get($var);
2117 function __isset($var) {
2118 if ($var === 'thisown') return true;
2119 return XapianStopper::__isset($var);
2122 function add($word) {
2123 SimpleStopper_add($this->_cPtr,$word);
2126 function apply($term) {
2127 return SimpleStopper_apply($this->_cPtr,$term);
2130 function get_description() {
2131 return SimpleStopper_get_description($this->_cPtr);
2134 function __construct($file=null) {
2135 if (is_resource($file) && get_resource_type($file) === '_p_Xapian__SimpleStopper') {
2139 switch (func_num_args()) {
2140 case 0: $this->_cPtr=new_SimpleStopper(); break;
2141 default: $this->_cPtr=new_SimpleStopper($file);
2146 class XapianRangeProcessor {
2148 protected $_pData=array();
2150 function __set($var,$value) {
2151 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2152 $this->_pData[$var] = $value;
2155 function __get($var) {
2156 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2157 return $this->_pData[$var];
2160 function __isset($var) {
2161 if ($var === 'thisown') return true;
2162 return array_key_exists($var, $this->_pData);
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_;
2170 if (get_class($this) === 'XapianRangeProcessor') {
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_);
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);
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);
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);
2214 class XapianDateRangeProcessor extends XapianRangeProcessor {
2217 function __set($var,$value) {
2218 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2219 XapianRangeProcessor::__set($var,$value);
2222 function __get($var) {
2223 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2224 return XapianRangeProcessor::__get($var);
2227 function __isset($var) {
2228 if ($var === 'thisown') return true;
2229 return XapianRangeProcessor::__isset($var);
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_;
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_);
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);
2256 class XapianNumberRangeProcessor extends XapianRangeProcessor {
2259 function __set($var,$value) {
2260 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2261 XapianRangeProcessor::__set($var,$value);
2264 function __get($var) {
2265 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2266 return XapianRangeProcessor::__get($var);
2269 function __isset($var) {
2270 if ($var === 'thisown') return true;
2271 return XapianRangeProcessor::__isset($var);
2274 function __construct($slot_,$str_=null,$flags_=0) {
2275 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__NumberRangeProcessor') {
2276 $this->_cPtr=$slot_;
2279 switch (func_num_args()) {
2280 case 1: $this->_cPtr=new_NumberRangeProcessor($slot_); break;
2281 default: $this->_cPtr=new_NumberRangeProcessor($slot_,$str_,$flags_);
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);
2296 abstract class XapianValueRangeProcessor {
2298 protected $_pData=array();
2300 function __set($var,$value) {
2301 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2302 $this->_pData[$var] = $value;
2305 function __get($var) {
2306 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2307 return $this->_pData[$var];
2310 function __isset($var) {
2311 if ($var === 'thisown') return true;
2312 return array_key_exists($var, $this->_pData);
2315 function __construct($res=null) {
2316 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__ValueRangeProcessor') {
2320 if (get_class($this) === 'XapianValueRangeProcessor') {
2325 $this->_cPtr=new_ValueRangeProcessor($_this);
2328 function apply(&$begin,&$end) {
2329 return ValueRangeProcessor_apply($this->_cPtr,$begin,$end);
2332 function release() {
2333 $r=ValueRangeProcessor_release($this->_cPtr);
2339 class XapianStringValueRangeProcessor extends XapianValueRangeProcessor {
2342 function __set($var,$value) {
2343 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2344 XapianValueRangeProcessor::__set($var,$value);
2347 function __get($var) {
2348 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2349 return XapianValueRangeProcessor::__get($var);
2352 function __isset($var) {
2353 if ($var === 'thisown') return true;
2354 return XapianValueRangeProcessor::__isset($var);
2357 function __construct($slot_,$str_=null,$prefix_=true) {
2358 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__StringValueRangeProcessor') {
2359 $this->_cPtr=$slot_;
2362 switch (func_num_args()) {
2363 case 1: $this->_cPtr=new_StringValueRangeProcessor($slot_); break;
2364 default: $this->_cPtr=new_StringValueRangeProcessor($slot_,$str_,$prefix_);
2368 function apply(&$begin,&$end) {
2369 return StringValueRangeProcessor_apply($this->_cPtr,$begin,$end);
2373 class XapianDateValueRangeProcessor extends XapianStringValueRangeProcessor {
2376 function __set($var,$value) {
2377 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2378 XapianStringValueRangeProcessor::__set($var,$value);
2381 function __get($var) {
2382 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2383 return XapianStringValueRangeProcessor::__get($var);
2386 function __isset($var) {
2387 if ($var === 'thisown') return true;
2388 return XapianStringValueRangeProcessor::__isset($var);
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_;
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_);
2405 function apply(&$begin,&$end) {
2406 return DateValueRangeProcessor_apply($this->_cPtr,$begin,$end);
2410 class XapianNumberValueRangeProcessor extends XapianStringValueRangeProcessor {
2413 function __set($var,$value) {
2414 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2415 XapianStringValueRangeProcessor::__set($var,$value);
2418 function __get($var) {
2419 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2420 return XapianStringValueRangeProcessor::__get($var);
2423 function __isset($var) {
2424 if ($var === 'thisown') return true;
2425 return XapianStringValueRangeProcessor::__isset($var);
2428 function __construct($slot_,$str_=null,$prefix_=true) {
2429 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__NumberValueRangeProcessor') {
2430 $this->_cPtr=$slot_;
2433 switch (func_num_args()) {
2434 case 1: $this->_cPtr=new_NumberValueRangeProcessor($slot_); break;
2435 default: $this->_cPtr=new_NumberValueRangeProcessor($slot_,$str_,$prefix_);
2439 function apply(&$begin,&$end) {
2440 return NumberValueRangeProcessor_apply($this->_cPtr,$begin,$end);
2444 abstract class XapianFieldProcessor {
2446 protected $_pData=array();
2448 function __set($var,$value) {
2449 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2450 $this->_pData[$var] = $value;
2453 function __get($var) {
2454 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2455 return $this->_pData[$var];
2458 function __isset($var) {
2459 if ($var === 'thisown') return true;
2460 return array_key_exists($var, $this->_pData);
2463 function __construct($res=null) {
2464 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__FieldProcessor') {
2468 if (get_class($this) === 'XapianFieldProcessor') {
2473 $this->_cPtr=new_FieldProcessor($_this);
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);
2486 function release() {
2487 $r=FieldProcessor_release($this->_cPtr);
2493 class XapianQueryParser {
2494 protected $_rps=null;
2495 protected $_vrps=null;
2496 protected $_stopper=null;
2498 protected $_pData=array();
2500 function __set($var,$value) {
2501 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2502 $this->_pData[$var] = $value;
2505 function __get($var) {
2506 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2507 return $this->_pData[$var];
2510 function __isset($var) {
2511 if ($var === 'thisown') return true;
2512 return array_key_exists($var, $this->_pData);
2515 const FLAG_BOOLEAN = 1;
2517 const FLAG_PHRASE = 2;
2519 const FLAG_LOVEHATE = 4;
2521 const FLAG_BOOLEAN_ANY_CASE = 8;
2523 const FLAG_WILDCARD = 16;
2525 const FLAG_PURE_NOT = 32;
2527 const FLAG_PARTIAL = 64;
2529 const FLAG_SPELLING_CORRECTION = 128;
2531 const FLAG_SYNONYM = 256;
2533 const FLAG_AUTO_SYNONYMS = 512;
2535 const FLAG_AUTO_MULTIWORD_SYNONYMS = 1024;
2537 const FLAG_CJK_NGRAM = 2048;
2539 const FLAG_ACCUMULATE = 65536;
2541 const FLAG_DEFAULT = QueryParser_FLAG_DEFAULT;
2543 const STEM_NONE = 0;
2545 const STEM_SOME = QueryParser_STEM_SOME;
2547 const STEM_ALL = QueryParser_STEM_ALL;
2549 const STEM_ALL_Z = QueryParser_STEM_ALL_Z;
2551 const STEM_SOME_FULL_POS = QueryParser_STEM_SOME_FULL_POS;
2553 function __construct($res=null) {
2554 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__QueryParser') {
2558 $this->_cPtr=new_QueryParser();
2561 function set_stemmer(XapianStem $stemmer) {
2562 QueryParser_set_stemmer($this->_cPtr,$stemmer);
2565 function set_stemming_strategy($strategy) {
2566 QueryParser_set_stemming_strategy($this->_cPtr,$strategy);
2569 function set_stopper(XapianStopper $stop=null) {
2570 $this->_stopper=$stop;
2571 QueryParser_set_stopper($this->_cPtr,$stop);
2574 function set_default_op($default_op) {
2575 QueryParser_set_default_op($this->_cPtr,$default_op);
2578 function get_default_op() {
2579 return QueryParser_get_default_op($this->_cPtr);
2582 function set_database(XapianDatabase $db) {
2583 QueryParser_set_database($this->_cPtr,$db);
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);
2594 function set_max_wildcard_expansion($arg1) {
2595 QueryParser_set_max_wildcard_expansion($this->_cPtr,$arg1);
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);
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);
2612 function add_prefix($field,$prefix_or_proc) {
2613 QueryParser_add_prefix($this->_cPtr,$field,$prefix_or_proc);
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);
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);
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);
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);
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);
2663 function add_rangeprocessor(XapianRangeProcessor $range_proc,$grouping=null) {
2664 $this->_rps[]=$range_proc;
2665 QueryParser_add_rangeprocessor($this->_cPtr,$range_proc,$grouping);
2668 function add_valuerangeprocessor(XapianValueRangeProcessor $vrproc) {
2669 $this->_vrps[]=$vrproc;
2670 QueryParser_add_valuerangeprocessor($this->_cPtr,$vrproc);
2673 function get_corrected_query_string() {
2674 return QueryParser_get_corrected_query_string($this->_cPtr);
2677 function get_description() {
2678 return QueryParser_get_description($this->_cPtr);
2682 class XapianValueSetMatchDecider extends XapianMatchDecider {
2685 function __set($var,$value) {
2686 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2687 XapianMatchDecider::__set($var,$value);
2690 function __get($var) {
2691 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2692 return XapianMatchDecider::__get($var);
2695 function __isset($var) {
2696 if ($var === 'thisown') return true;
2697 return XapianMatchDecider::__isset($var);
2700 function __construct($slot,$inclusive_=null) {
2701 if (is_resource($slot) && get_resource_type($slot) === '_p_Xapian__ValueSetMatchDecider') {
2705 $this->_cPtr=new_ValueSetMatchDecider($slot,$inclusive_);
2708 function add_value($value) {
2709 ValueSetMatchDecider_add_value($this->_cPtr,$value);
2712 function remove_value($value) {
2713 ValueSetMatchDecider_remove_value($this->_cPtr,$value);
2716 function apply($doc) {
2717 return ValueSetMatchDecider_apply($this->_cPtr,$doc);
2721 abstract class XapianWeight {
2723 protected $_pData=array();
2725 function __set($var,$value) {
2726 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2727 $this->_pData[$var] = $value;
2730 function __get($var) {
2731 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2732 return $this->_pData[$var];
2735 function __isset($var) {
2736 if ($var === 'thisown') return true;
2737 return array_key_exists($var, $this->_pData);
2739 function __construct($h) {
2743 const TWO_STAGE_SMOOTHING = 1;
2745 const DIRICHLET_SMOOTHING = 2;
2747 const ABSOLUTE_DISCOUNT_SMOOTHING = 3;
2749 const JELINEK_MERCER_SMOOTHING = 4;
2751 const DIRICHLET_PLUS_SMOOTHING = 5;
2754 return Weight_name($this->_cPtr);
2757 function get_sumpart($wdf,$doclen,$uniqterms) {
2758 return Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms);
2761 function get_maxpart() {
2762 return Weight_get_maxpart($this->_cPtr);
2765 function get_sumextra($doclen,$uniqterms) {
2766 return Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
2769 function get_maxextra() {
2770 return Weight_get_maxextra($this->_cPtr);
2774 class XapianBoolWeight extends XapianWeight {
2777 function __set($var,$value) {
2778 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2779 XapianWeight::__set($var,$value);
2782 function __get($var) {
2783 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2784 return XapianWeight::__get($var);
2787 function __isset($var) {
2788 if ($var === 'thisown') return true;
2789 return XapianWeight::__isset($var);
2792 function __construct($res=null) {
2793 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__BoolWeight') {
2797 $this->_cPtr=new_BoolWeight();
2801 return BoolWeight_name($this->_cPtr);
2804 function get_sumpart($wdf,$doclen,$uniqterms) {
2805 return BoolWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms);
2808 function get_maxpart() {
2809 return BoolWeight_get_maxpart($this->_cPtr);
2812 function get_sumextra($doclen,$uniqterms) {
2813 return BoolWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
2816 function get_maxextra() {
2817 return BoolWeight_get_maxextra($this->_cPtr);
2821 class XapianTfIdfWeight extends XapianWeight {
2824 function __set($var,$value) {
2825 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2826 XapianWeight::__set($var,$value);
2829 function __get($var) {
2830 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2831 return XapianWeight::__get($var);
2834 function __isset($var) {
2835 if ($var === 'thisown') return true;
2836 return XapianWeight::__isset($var);
2839 function __construct($normalizations=null) {
2840 if (is_resource($normalizations) && get_resource_type($normalizations) === '_p_Xapian__TfIdfWeight') {
2841 $this->_cPtr=$normalizations;
2844 switch (func_num_args()) {
2845 case 0: $this->_cPtr=new_TfIdfWeight(); break;
2846 default: $this->_cPtr=new_TfIdfWeight($normalizations);
2851 return TfIdfWeight_name($this->_cPtr);
2854 function get_sumpart($wdf,$doclen,$uniqterm) {
2855 return TfIdfWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterm);
2858 function get_maxpart() {
2859 return TfIdfWeight_get_maxpart($this->_cPtr);
2862 function get_sumextra($doclen,$uniqterms) {
2863 return TfIdfWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
2866 function get_maxextra() {
2867 return TfIdfWeight_get_maxextra($this->_cPtr);
2871 class XapianBM25Weight extends XapianWeight {
2874 function __set($var,$value) {
2875 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2876 XapianWeight::__set($var,$value);
2879 function __get($var) {
2880 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2881 return XapianWeight::__get($var);
2884 function __isset($var) {
2885 if ($var === 'thisown') return true;
2886 return XapianWeight::__isset($var);
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') {
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);
2905 return BM25Weight_name($this->_cPtr);
2908 function get_sumpart($wdf,$doclen,$uniqterm) {
2909 return BM25Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterm);
2912 function get_maxpart() {
2913 return BM25Weight_get_maxpart($this->_cPtr);
2916 function get_sumextra($doclen,$uniqterms) {
2917 return BM25Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
2920 function get_maxextra() {
2921 return BM25Weight_get_maxextra($this->_cPtr);
2925 class XapianBM25PlusWeight extends XapianWeight {
2928 function __set($var,$value) {
2929 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2930 XapianWeight::__set($var,$value);
2933 function __get($var) {
2934 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2935 return XapianWeight::__get($var);
2938 function __isset($var) {
2939 if ($var === 'thisown') return true;
2940 return XapianWeight::__isset($var);
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') {
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);
2960 return BM25PlusWeight_name($this->_cPtr);
2963 function get_sumpart($wdf,$doclen,$uniqterm) {
2964 return BM25PlusWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterm);
2967 function get_maxpart() {
2968 return BM25PlusWeight_get_maxpart($this->_cPtr);
2971 function get_sumextra($doclen,$uniqterms) {
2972 return BM25PlusWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
2975 function get_maxextra() {
2976 return BM25PlusWeight_get_maxextra($this->_cPtr);
2980 class XapianTradWeight extends XapianWeight {
2983 function __set($var,$value) {
2984 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
2985 XapianWeight::__set($var,$value);
2988 function __get($var) {
2989 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
2990 return XapianWeight::__get($var);
2993 function __isset($var) {
2994 if ($var === 'thisown') return true;
2995 return XapianWeight::__isset($var);
2998 function __construct($k=1.0) {
2999 if (is_resource($k) && get_resource_type($k) === '_p_Xapian__TradWeight') {
3003 $this->_cPtr=new_TradWeight($k);
3007 return TradWeight_name($this->_cPtr);
3010 function get_sumpart($wdf,$doclen,$uniqueterms) {
3011 return TradWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqueterms);
3014 function get_maxpart() {
3015 return TradWeight_get_maxpart($this->_cPtr);
3018 function get_sumextra($doclen,$uniqterms) {
3019 return TradWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
3022 function get_maxextra() {
3023 return TradWeight_get_maxextra($this->_cPtr);
3027 class XapianInL2Weight extends XapianWeight {
3030 function __set($var,$value) {
3031 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3032 XapianWeight::__set($var,$value);
3035 function __get($var) {
3036 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3037 return XapianWeight::__get($var);
3040 function __isset($var) {
3041 if ($var === 'thisown') return true;
3042 return XapianWeight::__isset($var);
3045 function __construct($c_=null) {
3046 if (is_resource($c_) && get_resource_type($c_) === '_p_Xapian__InL2Weight') {
3050 switch (func_num_args()) {
3051 case 0: $this->_cPtr=new_InL2Weight(); break;
3052 default: $this->_cPtr=new_InL2Weight($c_);
3057 return InL2Weight_name($this->_cPtr);
3060 function get_sumpart($wdf,$doclen,$uniqterms) {
3061 return InL2Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms);
3064 function get_maxpart() {
3065 return InL2Weight_get_maxpart($this->_cPtr);
3068 function get_sumextra($doclen,$uniqterms) {
3069 return InL2Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
3072 function get_maxextra() {
3073 return InL2Weight_get_maxextra($this->_cPtr);
3077 class XapianIfB2Weight extends XapianWeight {
3080 function __set($var,$value) {
3081 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3082 XapianWeight::__set($var,$value);
3085 function __get($var) {
3086 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3087 return XapianWeight::__get($var);
3090 function __isset($var) {
3091 if ($var === 'thisown') return true;
3092 return XapianWeight::__isset($var);
3095 function __construct($c_=null) {
3096 if (is_resource($c_) && get_resource_type($c_) === '_p_Xapian__IfB2Weight') {
3100 switch (func_num_args()) {
3101 case 0: $this->_cPtr=new_IfB2Weight(); break;
3102 default: $this->_cPtr=new_IfB2Weight($c_);
3107 return IfB2Weight_name($this->_cPtr);
3110 function get_sumpart($wdf,$doclen,$uniqterm) {
3111 return IfB2Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterm);
3114 function get_maxpart() {
3115 return IfB2Weight_get_maxpart($this->_cPtr);
3118 function get_sumextra($doclen,$uniqterms) {
3119 return IfB2Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
3122 function get_maxextra() {
3123 return IfB2Weight_get_maxextra($this->_cPtr);
3127 class XapianIneB2Weight extends XapianWeight {
3130 function __set($var,$value) {
3131 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3132 XapianWeight::__set($var,$value);
3135 function __get($var) {
3136 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3137 return XapianWeight::__get($var);
3140 function __isset($var) {
3141 if ($var === 'thisown') return true;
3142 return XapianWeight::__isset($var);
3145 function __construct($c_=null) {
3146 if (is_resource($c_) && get_resource_type($c_) === '_p_Xapian__IneB2Weight') {
3150 switch (func_num_args()) {
3151 case 0: $this->_cPtr=new_IneB2Weight(); break;
3152 default: $this->_cPtr=new_IneB2Weight($c_);
3157 return IneB2Weight_name($this->_cPtr);
3160 function get_sumpart($wdf,$doclen,$uniqterms) {
3161 return IneB2Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms);
3164 function get_maxpart() {
3165 return IneB2Weight_get_maxpart($this->_cPtr);
3168 function get_sumextra($doclen,$uniqterms) {
3169 return IneB2Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
3172 function get_maxextra() {
3173 return IneB2Weight_get_maxextra($this->_cPtr);
3177 class XapianBB2Weight extends XapianWeight {
3180 function __set($var,$value) {
3181 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3182 XapianWeight::__set($var,$value);
3185 function __get($var) {
3186 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3187 return XapianWeight::__get($var);
3190 function __isset($var) {
3191 if ($var === 'thisown') return true;
3192 return XapianWeight::__isset($var);
3195 function __construct($c_=null) {
3196 if (is_resource($c_) && get_resource_type($c_) === '_p_Xapian__BB2Weight') {
3200 switch (func_num_args()) {
3201 case 0: $this->_cPtr=new_BB2Weight(); break;
3202 default: $this->_cPtr=new_BB2Weight($c_);
3207 return BB2Weight_name($this->_cPtr);
3210 function get_sumpart($wdf,$doclen,$uniqterms) {
3211 return BB2Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms);
3214 function get_maxpart() {
3215 return BB2Weight_get_maxpart($this->_cPtr);
3218 function get_sumextra($doclen,$uniqterms) {
3219 return BB2Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
3222 function get_maxextra() {
3223 return BB2Weight_get_maxextra($this->_cPtr);
3227 class XapianDLHWeight extends XapianWeight {
3230 function __set($var,$value) {
3231 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3232 XapianWeight::__set($var,$value);
3235 function __get($var) {
3236 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3237 return XapianWeight::__get($var);
3240 function __isset($var) {
3241 if ($var === 'thisown') return true;
3242 return XapianWeight::__isset($var);
3245 function __construct($res=null) {
3246 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__DLHWeight') {
3250 $this->_cPtr=new_DLHWeight();
3254 return DLHWeight_name($this->_cPtr);
3257 function get_sumpart($wdf,$doclen,$uniqterms) {
3258 return DLHWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms);
3261 function get_maxpart() {
3262 return DLHWeight_get_maxpart($this->_cPtr);
3265 function get_sumextra($doclen,$uniqterms) {
3266 return DLHWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
3269 function get_maxextra() {
3270 return DLHWeight_get_maxextra($this->_cPtr);
3274 class XapianPL2Weight extends XapianWeight {
3277 function __set($var,$value) {
3278 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3279 XapianWeight::__set($var,$value);
3282 function __get($var) {
3283 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3284 return XapianWeight::__get($var);
3287 function __isset($var) {
3288 if ($var === 'thisown') return true;
3289 return XapianWeight::__isset($var);
3292 function __construct($c_=null) {
3293 if (is_resource($c_) && get_resource_type($c_) === '_p_Xapian__PL2Weight') {
3297 switch (func_num_args()) {
3298 case 0: $this->_cPtr=new_PL2Weight(); break;
3299 default: $this->_cPtr=new_PL2Weight($c_);
3304 return PL2Weight_name($this->_cPtr);
3307 function get_sumpart($wdf,$doclen,$uniqterms) {
3308 return PL2Weight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms);
3311 function get_maxpart() {
3312 return PL2Weight_get_maxpart($this->_cPtr);
3315 function get_sumextra($doclen,$uniqterms) {
3316 return PL2Weight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
3319 function get_maxextra() {
3320 return PL2Weight_get_maxextra($this->_cPtr);
3324 class XapianPL2PlusWeight extends XapianWeight {
3327 function __set($var,$value) {
3328 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3329 XapianWeight::__set($var,$value);
3332 function __get($var) {
3333 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3334 return XapianWeight::__get($var);
3337 function __isset($var) {
3338 if ($var === 'thisown') return true;
3339 return XapianWeight::__isset($var);
3342 function __construct($c_=null,$delta=null) {
3343 if (is_resource($c_) && get_resource_type($c_) === '_p_Xapian__PL2PlusWeight') {
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);
3355 return PL2PlusWeight_name($this->_cPtr);
3358 function get_sumpart($wdf,$doclen,$uniqterms) {
3359 return PL2PlusWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms);
3362 function get_maxpart() {
3363 return PL2PlusWeight_get_maxpart($this->_cPtr);
3366 function get_sumextra($doclen,$uniqterms) {
3367 return PL2PlusWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
3370 function get_maxextra() {
3371 return PL2PlusWeight_get_maxextra($this->_cPtr);
3375 class XapianDPHWeight extends XapianWeight {
3378 function __set($var,$value) {
3379 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3380 XapianWeight::__set($var,$value);
3383 function __get($var) {
3384 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3385 return XapianWeight::__get($var);
3388 function __isset($var) {
3389 if ($var === 'thisown') return true;
3390 return XapianWeight::__isset($var);
3393 function __construct($res=null) {
3394 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__DPHWeight') {
3398 $this->_cPtr=new_DPHWeight();
3402 return DPHWeight_name($this->_cPtr);
3405 function get_sumpart($wdf,$doclen,$uniqterms) {
3406 return DPHWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterms);
3409 function get_maxpart() {
3410 return DPHWeight_get_maxpart($this->_cPtr);
3413 function get_sumextra($doclen,$uniqterms) {
3414 return DPHWeight_get_sumextra($this->_cPtr,$doclen,$uniqterms);
3417 function get_maxextra() {
3418 return DPHWeight_get_maxextra($this->_cPtr);
3422 class XapianLMWeight extends XapianWeight {
3425 function __set($var,$value) {
3426 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3427 XapianWeight::__set($var,$value);
3430 function __get($var) {
3431 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3432 return XapianWeight::__get($var);
3435 function __isset($var) {
3436 if ($var === 'thisown') return true;
3437 return XapianWeight::__isset($var);
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_;
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_);
3452 return LMWeight_name($this->_cPtr);
3455 function get_sumpart($wdf,$doclen,$uniqterm) {
3456 return LMWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterm);
3459 function get_maxpart() {
3460 return LMWeight_get_maxpart($this->_cPtr);
3463 function get_sumextra($doclen,$arg2) {
3464 return LMWeight_get_sumextra($this->_cPtr,$doclen,$arg2);
3467 function get_maxextra() {
3468 return LMWeight_get_maxextra($this->_cPtr);
3472 class XapianCoordWeight extends XapianWeight {
3475 function __set($var,$value) {
3476 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3477 XapianWeight::__set($var,$value);
3480 function __get($var) {
3481 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3482 return XapianWeight::__get($var);
3485 function __isset($var) {
3486 if ($var === 'thisown') return true;
3487 return XapianWeight::__isset($var);
3490 function init($factor_) {
3491 CoordWeight_init($this->_cPtr,$factor_);
3494 function __construct($res=null) {
3495 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__CoordWeight') {
3499 $this->_cPtr=new_CoordWeight();
3503 return CoordWeight_name($this->_cPtr);
3506 function get_sumpart($wdf,$doclen,$uniqterm) {
3507 return CoordWeight_get_sumpart($this->_cPtr,$wdf,$doclen,$uniqterm);
3510 function get_maxpart() {
3511 return CoordWeight_get_maxpart($this->_cPtr);
3514 function get_sumextra($arg1,$arg2) {
3515 return CoordWeight_get_sumextra($this->_cPtr,$arg1,$arg2);
3518 function get_maxextra() {
3519 return CoordWeight_get_maxextra($this->_cPtr);
3523 class XapianCompactor {
3525 protected $_pData=array();
3527 function __set($var,$value) {
3528 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3529 $this->_pData[$var] = $value;
3532 function __get($var) {
3533 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3534 return $this->_pData[$var];
3537 function __isset($var) {
3538 if ($var === 'thisown') return true;
3539 return array_key_exists($var, $this->_pData);
3548 function __construct($res=null) {
3549 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__Compactor') {
3553 if (get_class($this) === 'XapianCompactor') {
3558 $this->_cPtr=new_Compactor($_this);
3561 function set_block_size($block_size) {
3562 Compactor_set_block_size($this->_cPtr,$block_size);
3565 function set_renumber($renumber) {
3566 Compactor_set_renumber($this->_cPtr,$renumber);
3569 function set_multipass($multipass) {
3570 Compactor_set_multipass($this->_cPtr,$multipass);
3573 function set_compaction_level($compaction) {
3574 Compactor_set_compaction_level($this->_cPtr,$compaction);
3577 function set_destdir($destdir) {
3578 Compactor_set_destdir($this->_cPtr,$destdir);
3581 function add_source($srcdir) {
3582 Compactor_add_source($this->_cPtr,$srcdir);
3585 function compact() {
3586 Compactor_compact($this->_cPtr);
3589 function set_status($table,$status) {
3590 Compactor_set_status($this->_cPtr,$table,$status);
3593 function resolve_duplicate_metadata($key,$num_tags,$tags) {
3594 return Compactor_resolve_duplicate_metadata($this->_cPtr,$key,$num_tags,$tags);
3598 abstract class XapianPostingSource {
3600 protected $_pData=array();
3602 function __set($var,$value) {
3603 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3604 $this->_pData[$var] = $value;
3607 function __get($var) {
3608 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3609 return $this->_pData[$var];
3612 function __isset($var) {
3613 if ($var === 'thisown') return true;
3614 return array_key_exists($var, $this->_pData);
3617 function __construct($res=null) {
3618 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__PostingSource') {
3622 if (get_class($this) === 'XapianPostingSource') {
3627 $this->_cPtr=new_PostingSource($_this);
3630 function get_termfreq_min() {
3631 return PostingSource_get_termfreq_min($this->_cPtr);
3634 function get_termfreq_est() {
3635 return PostingSource_get_termfreq_est($this->_cPtr);
3638 function get_termfreq_max() {
3639 return PostingSource_get_termfreq_max($this->_cPtr);
3642 function set_maxweight($max_weight) {
3643 PostingSource_set_maxweight($this->_cPtr,$max_weight);
3646 function get_maxweight() {
3647 return PostingSource_get_maxweight($this->_cPtr);
3650 function get_weight() {
3651 return PostingSource_get_weight($this->_cPtr);
3654 function get_docid() {
3655 return PostingSource_get_docid($this->_cPtr);
3658 function next($min_wt) {
3659 PostingSource_next($this->_cPtr,$min_wt);
3662 function skip_to($did,$min_wt) {
3663 PostingSource_skip_to($this->_cPtr,$did,$min_wt);
3666 function check($did,$min_wt) {
3667 return PostingSource_check($this->_cPtr,$did,$min_wt);
3671 return PostingSource_at_end($this->_cPtr);
3675 return PostingSource_name($this->_cPtr);
3678 function init(XapianDatabase $db) {
3679 PostingSource_init($this->_cPtr,$db);
3682 function get_description() {
3683 return PostingSource_get_description($this->_cPtr);
3686 function release() {
3687 $r=PostingSource_release($this->_cPtr);
3693 class XapianValuePostingSource extends XapianPostingSource {
3696 function __set($var,$value) {
3697 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3698 XapianPostingSource::__set($var,$value);
3701 function __get($var) {
3702 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3703 return XapianPostingSource::__get($var);
3706 function __isset($var) {
3707 if ($var === 'thisown') return true;
3708 return XapianPostingSource::__isset($var);
3711 function __construct($slot_) {
3712 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__ValuePostingSource') {
3713 $this->_cPtr=$slot_;
3716 if (get_class($this) === 'XapianValuePostingSource') {
3721 $this->_cPtr=new_ValuePostingSource($_this, $slot_);
3724 function get_termfreq_min() {
3725 return ValuePostingSource_get_termfreq_min($this->_cPtr);
3728 function get_termfreq_est() {
3729 return ValuePostingSource_get_termfreq_est($this->_cPtr);
3732 function get_termfreq_max() {
3733 return ValuePostingSource_get_termfreq_max($this->_cPtr);
3736 function next($min_wt) {
3737 ValuePostingSource_next($this->_cPtr,$min_wt);
3740 function skip_to($min_docid,$min_wt) {
3741 ValuePostingSource_skip_to($this->_cPtr,$min_docid,$min_wt);
3744 function check($min_docid,$min_wt) {
3745 return ValuePostingSource_check($this->_cPtr,$min_docid,$min_wt);
3749 return ValuePostingSource_at_end($this->_cPtr);
3752 function get_docid() {
3753 return ValuePostingSource_get_docid($this->_cPtr);
3756 function init(XapianDatabase $db_) {
3757 ValuePostingSource_init($this->_cPtr,$db_);
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);
3770 function get_slot() {
3771 return ValuePostingSource_get_slot($this->_cPtr);
3774 function get_value() {
3775 return ValuePostingSource_get_value($this->_cPtr);
3779 ValuePostingSource_done($this->_cPtr);
3782 function get_started() {
3783 return ValuePostingSource_get_started($this->_cPtr);
3786 function set_termfreq_min($termfreq_min_) {
3787 ValuePostingSource_set_termfreq_min($this->_cPtr,$termfreq_min_);
3790 function set_termfreq_est($termfreq_est_) {
3791 ValuePostingSource_set_termfreq_est($this->_cPtr,$termfreq_est_);
3794 function set_termfreq_max($termfreq_max_) {
3795 ValuePostingSource_set_termfreq_max($this->_cPtr,$termfreq_max_);
3799 class XapianValueWeightPostingSource extends XapianValuePostingSource {
3802 function __set($var,$value) {
3803 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3804 XapianValuePostingSource::__set($var,$value);
3807 function __get($var) {
3808 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3809 return XapianValuePostingSource::__get($var);
3812 function __isset($var) {
3813 if ($var === 'thisown') return true;
3814 return XapianValuePostingSource::__isset($var);
3817 function __construct($slot_) {
3818 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__ValueWeightPostingSource') {
3819 $this->_cPtr=$slot_;
3822 if (get_class($this) === 'XapianValueWeightPostingSource') {
3827 $this->_cPtr=new_ValueWeightPostingSource($_this, $slot_);
3830 function get_weight() {
3831 return ValueWeightPostingSource_get_weight($this->_cPtr);
3835 return ValueWeightPostingSource_name($this->_cPtr);
3838 function init(XapianDatabase $db_) {
3839 ValueWeightPostingSource_init($this->_cPtr,$db_);
3842 function get_description() {
3843 return ValueWeightPostingSource_get_description($this->_cPtr);
3847 class XapianDecreasingValueWeightPostingSource extends XapianValueWeightPostingSource {
3850 function __set($var,$value) {
3851 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3852 XapianValueWeightPostingSource::__set($var,$value);
3855 function __get($var) {
3856 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3857 return XapianValueWeightPostingSource::__get($var);
3860 function __isset($var) {
3861 if ($var === 'thisown') return true;
3862 return XapianValueWeightPostingSource::__isset($var);
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_;
3870 $this->_cPtr=new_DecreasingValueWeightPostingSource($slot_,$range_start_,$range_end_);
3873 function get_weight() {
3874 return DecreasingValueWeightPostingSource_get_weight($this->_cPtr);
3878 return DecreasingValueWeightPostingSource_name($this->_cPtr);
3881 function init(XapianDatabase $db_) {
3882 DecreasingValueWeightPostingSource_init($this->_cPtr,$db_);
3885 function next($min_wt) {
3886 DecreasingValueWeightPostingSource_next($this->_cPtr,$min_wt);
3889 function skip_to($min_docid,$min_wt) {
3890 DecreasingValueWeightPostingSource_skip_to($this->_cPtr,$min_docid,$min_wt);
3893 function check($min_docid,$min_wt) {
3894 return DecreasingValueWeightPostingSource_check($this->_cPtr,$min_docid,$min_wt);
3897 function get_description() {
3898 return DecreasingValueWeightPostingSource_get_description($this->_cPtr);
3902 class XapianValueMapPostingSource extends XapianValuePostingSource {
3905 function __set($var,$value) {
3906 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3907 XapianValuePostingSource::__set($var,$value);
3910 function __get($var) {
3911 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3912 return XapianValuePostingSource::__get($var);
3915 function __isset($var) {
3916 if ($var === 'thisown') return true;
3917 return XapianValuePostingSource::__isset($var);
3920 function __construct($slot_) {
3921 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__ValueMapPostingSource') {
3922 $this->_cPtr=$slot_;
3925 $this->_cPtr=new_ValueMapPostingSource($slot_);
3928 function add_mapping($key,$wt) {
3929 ValueMapPostingSource_add_mapping($this->_cPtr,$key,$wt);
3932 function clear_mappings() {
3933 ValueMapPostingSource_clear_mappings($this->_cPtr);
3936 function set_default_weight($wt) {
3937 ValueMapPostingSource_set_default_weight($this->_cPtr,$wt);
3940 function get_weight() {
3941 return ValueMapPostingSource_get_weight($this->_cPtr);
3945 return ValueMapPostingSource_name($this->_cPtr);
3948 function init(XapianDatabase $db_) {
3949 ValueMapPostingSource_init($this->_cPtr,$db_);
3952 function get_description() {
3953 return ValueMapPostingSource_get_description($this->_cPtr);
3957 class XapianFixedWeightPostingSource extends XapianPostingSource {
3960 function __set($var,$value) {
3961 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
3962 XapianPostingSource::__set($var,$value);
3965 function __get($var) {
3966 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
3967 return XapianPostingSource::__get($var);
3970 function __isset($var) {
3971 if ($var === 'thisown') return true;
3972 return XapianPostingSource::__isset($var);
3975 function __construct($wt) {
3976 if (is_resource($wt) && get_resource_type($wt) === '_p_Xapian__FixedWeightPostingSource') {
3980 $this->_cPtr=new_FixedWeightPostingSource($wt);
3983 function get_termfreq_min() {
3984 return FixedWeightPostingSource_get_termfreq_min($this->_cPtr);
3987 function get_termfreq_est() {
3988 return FixedWeightPostingSource_get_termfreq_est($this->_cPtr);
3991 function get_termfreq_max() {
3992 return FixedWeightPostingSource_get_termfreq_max($this->_cPtr);
3995 function get_weight() {
3996 return FixedWeightPostingSource_get_weight($this->_cPtr);
3999 function next($min_wt) {
4000 FixedWeightPostingSource_next($this->_cPtr,$min_wt);
4003 function skip_to($min_docid,$min_wt) {
4004 FixedWeightPostingSource_skip_to($this->_cPtr,$min_docid,$min_wt);
4007 function check($min_docid,$min_wt) {
4008 return FixedWeightPostingSource_check($this->_cPtr,$min_docid,$min_wt);
4012 return FixedWeightPostingSource_at_end($this->_cPtr);
4015 function get_docid() {
4016 return FixedWeightPostingSource_get_docid($this->_cPtr);
4020 return FixedWeightPostingSource_name($this->_cPtr);
4023 function init(XapianDatabase $db_) {
4024 FixedWeightPostingSource_init($this->_cPtr,$db_);
4027 function get_description() {
4028 return FixedWeightPostingSource_get_description($this->_cPtr);
4032 abstract class XapianMatchSpy {
4034 protected $_pData=array();
4036 function __set($var,$value) {
4037 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
4038 $this->_pData[$var] = $value;
4041 function __get($var) {
4042 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
4043 return $this->_pData[$var];
4046 function __isset($var) {
4047 if ($var === 'thisown') return true;
4048 return array_key_exists($var, $this->_pData);
4051 function __construct($res=null) {
4052 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__MatchSpy') {
4056 if (get_class($this) === 'XapianMatchSpy') {
4061 $this->_cPtr=new_MatchSpy($_this);
4064 function apply($doc,$wt) {
4065 MatchSpy_apply($this->_cPtr,$doc,$wt);
4069 return MatchSpy_name($this->_cPtr);
4072 function merge_results($serialised) {
4073 MatchSpy_merge_results($this->_cPtr,$serialised);
4076 function get_description() {
4077 return MatchSpy_get_description($this->_cPtr);
4080 function release() {
4081 $r=MatchSpy_release($this->_cPtr);
4087 class XapianValueCountMatchSpy extends XapianMatchSpy {
4090 function __set($var,$value) {
4091 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
4092 XapianMatchSpy::__set($var,$value);
4095 function __get($var) {
4096 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
4097 return XapianMatchSpy::__get($var);
4100 function __isset($var) {
4101 if ($var === 'thisown') return true;
4102 return XapianMatchSpy::__isset($var);
4105 function __construct($slot_=null) {
4106 if (is_resource($slot_) && get_resource_type($slot_) === '_p_Xapian__ValueCountMatchSpy') {
4107 $this->_cPtr=$slot_;
4110 switch (func_num_args()) {
4111 case 0: $this->_cPtr=new_ValueCountMatchSpy(); break;
4112 default: $this->_cPtr=new_ValueCountMatchSpy($slot_);
4116 function get_total() {
4117 return ValueCountMatchSpy_get_total($this->_cPtr);
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);
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);
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);
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);
4160 function apply($doc,$wt) {
4161 ValueCountMatchSpy_apply($this->_cPtr,$doc,$wt);
4165 return ValueCountMatchSpy_name($this->_cPtr);
4168 function merge_results($serialised) {
4169 ValueCountMatchSpy_merge_results($this->_cPtr,$serialised);
4172 function get_description() {
4173 return ValueCountMatchSpy_get_description($this->_cPtr);
4177 class XapianLatLongCoord {
4179 protected $_pData=array();
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;
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];
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);
4201 function __construct($latitude_=null,$longitude_=null) {
4202 if (is_resource($latitude_) && get_resource_type($latitude_) === '_p_Xapian__LatLongCoord') {
4203 $this->_cPtr=$latitude_;
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_);
4213 function unserialise($serialised) {
4214 LatLongCoord_unserialise($this->_cPtr,$serialised);
4217 function serialise() {
4218 return LatLongCoord_serialise($this->_cPtr);
4221 function get_description() {
4222 return LatLongCoord_get_description($this->_cPtr);
4226 class XapianLatLongCoordsIterator {
4228 protected $_pData=array();
4230 function __set($var,$value) {
4231 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
4232 $this->_pData[$var] = $value;
4235 function __get($var) {
4236 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
4237 return $this->_pData[$var];
4240 function __isset($var) {
4241 if ($var === 'thisown') return true;
4242 return array_key_exists($var, $this->_pData);
4245 function __construct($res=null) {
4246 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__LatLongCoordsIterator') {
4250 $this->_cPtr=new_LatLongCoordsIterator();
4253 function equals(XapianLatLongCoordsIterator $o) {
4254 return LatLongCoordsIterator_equals($this->_cPtr,$o);
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);
4268 LatLongCoordsIterator_next($this->_cPtr);
4272 class XapianLatLongCoords {
4274 protected $_pData=array();
4276 function __set($var,$value) {
4277 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
4278 $this->_pData[$var] = $value;
4281 function __get($var) {
4282 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
4283 return $this->_pData[$var];
4286 function __isset($var) {
4287 if ($var === 'thisown') return true;
4288 return array_key_exists($var, $this->_pData);
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);
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);
4312 return LatLongCoords_size($this->_cPtr);
4315 function is_empty() {
4316 return LatLongCoords_is_empty($this->_cPtr);
4319 function append($coord) {
4320 LatLongCoords_append($this->_cPtr,$coord);
4323 function __construct($coord=null) {
4324 if (is_resource($coord) && get_resource_type($coord) === '_p_Xapian__LatLongCoords') {
4325 $this->_cPtr=$coord;
4328 switch (func_num_args()) {
4329 case 0: $this->_cPtr=new_LatLongCoords(); break;
4330 default: $this->_cPtr=new_LatLongCoords($coord);
4334 function unserialise($serialised) {
4335 LatLongCoords_unserialise($this->_cPtr,$serialised);
4338 function serialise() {
4339 return LatLongCoords_serialise($this->_cPtr);
4342 function get_description() {
4343 return LatLongCoords_get_description($this->_cPtr);
4347 abstract class XapianLatLongMetric {
4349 protected $_pData=array();
4351 function __set($var,$value) {
4352 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
4353 $this->_pData[$var] = $value;
4356 function __get($var) {
4357 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
4358 return $this->_pData[$var];
4361 function __isset($var) {
4362 if ($var === 'thisown') return true;
4363 return array_key_exists($var, $this->_pData);
4366 function pointwise_distance($a,$b) {
4367 return LatLongMetric_pointwise_distance($this->_cPtr,$a,$b);
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);
4379 return LatLongMetric_name($this->_cPtr);
4382 function __construct($res=null) {
4383 if (is_resource($res) && get_resource_type($res) === '_p_Xapian__LatLongMetric') {
4387 if (get_class($this) === 'XapianLatLongMetric') {
4392 $this->_cPtr=new_LatLongMetric($_this);
4396 class XapianGreatCircleMetric extends XapianLatLongMetric {
4399 function __set($var,$value) {
4400 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
4401 XapianLatLongMetric::__set($var,$value);
4404 function __get($var) {
4405 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
4406 return XapianLatLongMetric::__get($var);
4409 function __isset($var) {
4410 if ($var === 'thisown') return true;
4411 return XapianLatLongMetric::__isset($var);
4414 function __construct($radius_=null) {
4415 if (is_resource($radius_) && get_resource_type($radius_) === '_p_Xapian__GreatCircleMetric') {
4416 $this->_cPtr=$radius_;
4419 switch (func_num_args()) {
4420 case 0: $this->_cPtr=new_GreatCircleMetric(); break;
4421 default: $this->_cPtr=new_GreatCircleMetric($radius_);
4425 function pointwise_distance($a,$b) {
4426 return GreatCircleMetric_pointwise_distance($this->_cPtr,$a,$b);
4430 return GreatCircleMetric_name($this->_cPtr);
4434 class XapianLatLongDistancePostingSource extends XapianValuePostingSource {
4437 function __set($var,$value) {
4438 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
4439 XapianValuePostingSource::__set($var,$value);
4442 function __get($var) {
4443 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
4444 return XapianValuePostingSource::__get($var);
4447 function __isset($var) {
4448 if ($var === 'thisown') return true;
4449 return XapianValuePostingSource::__isset($var);
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_;
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_);
4466 function next($min_wt) {
4467 LatLongDistancePostingSource_next($this->_cPtr,$min_wt);
4470 function skip_to($min_docid,$min_wt) {
4471 LatLongDistancePostingSource_skip_to($this->_cPtr,$min_docid,$min_wt);
4474 function check($min_docid,$min_wt) {
4475 return LatLongDistancePostingSource_check($this->_cPtr,$min_docid,$min_wt);
4478 function get_weight() {
4479 return LatLongDistancePostingSource_get_weight($this->_cPtr);
4483 return LatLongDistancePostingSource_name($this->_cPtr);
4486 function init(XapianDatabase $db_) {
4487 LatLongDistancePostingSource_init($this->_cPtr,$db_);
4490 function get_description() {
4491 return LatLongDistancePostingSource_get_description($this->_cPtr);
4495 class XapianLatLongDistanceKeyMaker extends XapianKeyMaker {
4498 function __set($var,$value) {
4499 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
4500 XapianKeyMaker::__set($var,$value);
4503 function __get($var) {
4504 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
4505 return XapianKeyMaker::__get($var);
4508 function __isset($var) {
4509 if ($var === 'thisown') return true;
4510 return XapianKeyMaker::__isset($var);
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_;
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);
4525 function apply($doc) {
4526 return LatLongDistanceKeyMaker_apply($this->_cPtr,$doc);
4530 class XapianDatabase {
4532 protected $_pData=array();
4534 function __set($var,$value) {
4535 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
4536 $this->_pData[$var] = $value;
4539 function __get($var) {
4540 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
4541 return $this->_pData[$var];
4544 function __isset($var) {
4545 if ($var === 'thisown') return true;
4546 return array_key_exists($var, $this->_pData);
4549 function add_database(XapianDatabase $database) {
4550 Database_add_database($this->_cPtr,$database);
4554 return Database_size($this->_cPtr);
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;
4562 switch (func_num_args()) {
4563 case 0: $this->_cPtr=new_Database(); break;
4564 default: $this->_cPtr=new_Database($path_or_fd,$flags);
4569 return Database_reopen($this->_cPtr);
4573 Database_close($this->_cPtr);
4576 function get_description() {
4577 return Database_get_description($this->_cPtr);
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);
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);
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);
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);
4620 function has_positions() {
4621 return Database_has_positions($this->_cPtr);
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);
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);
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);
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);
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);
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);
4670 function get_doccount() {
4671 return Database_get_doccount($this->_cPtr);
4674 function get_lastdocid() {
4675 return Database_get_lastdocid($this->_cPtr);
4678 function get_avlength() {
4679 return Database_get_avlength($this->_cPtr);
4682 function get_average_length() {
4683 return Database_get_average_length($this->_cPtr);
4686 function get_total_length() {
4687 return Database_get_total_length($this->_cPtr);
4690 function get_termfreq($tname) {
4691 return Database_get_termfreq($this->_cPtr,$tname);
4694 function term_exists($tname) {
4695 return Database_term_exists($this->_cPtr,$tname);
4698 function get_collection_freq($tname) {
4699 return Database_get_collection_freq($this->_cPtr,$tname);
4702 function get_value_freq($slot) {
4703 return Database_get_value_freq($this->_cPtr,$slot);
4706 function get_value_lower_bound($slot) {
4707 return Database_get_value_lower_bound($this->_cPtr,$slot);
4710 function get_value_upper_bound($slot) {
4711 return Database_get_value_upper_bound($this->_cPtr,$slot);
4714 function get_doclength_lower_bound() {
4715 return Database_get_doclength_lower_bound($this->_cPtr);
4718 function get_doclength_upper_bound() {
4719 return Database_get_doclength_upper_bound($this->_cPtr);
4722 function get_wdf_upper_bound($term) {
4723 return Database_get_wdf_upper_bound($this->_cPtr,$term);
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);
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);
4746 function get_doclength($did) {
4747 return Database_get_doclength($this->_cPtr,$did);
4750 function get_unique_terms($did) {
4751 return Database_get_unique_terms($this->_cPtr,$did);
4754 function keep_alive() {
4755 Database_keep_alive($this->_cPtr);
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);
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);
4771 function get_spelling_suggestion($word,$max_edit_distance=2) {
4772 return Database_get_spelling_suggestion($this->_cPtr,$word,$max_edit_distance);
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);
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);
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);
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);
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);
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);
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);
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);
4841 function get_metadata($key) {
4842 return Database_get_metadata($this->_cPtr,$key);
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);
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);
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);
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);
4871 function get_uuid() {
4872 return Database_get_uuid($this->_cPtr);
4876 return Database_locked($this->_cPtr);
4879 function get_revision() {
4880 return Database_get_revision($this->_cPtr);
4883 static function check($path_or_fd,$opts=0) {
4884 $r=Database_check($path_or_fd,$opts);
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);
4898 class XapianWritableDatabase extends XapianDatabase {
4901 function __set($var,$value) {
4902 if ($var === 'thisown') return swig_xapian_alter_newobject($this->_cPtr,$value);
4903 XapianDatabase::__set($var,$value);
4906 function __get($var) {
4907 if ($var === 'thisown') return swig_xapian_get_newobject($this->_cPtr);
4908 return XapianDatabase::__get($var);
4911 function __isset($var) {
4912 if ($var === 'thisown') return true;
4913 return XapianDatabase::__isset($var);
4916 function __construct($path=null,$flags=0,$block_size=0) {
4917 if (is_resource($path) && get_resource_type($path) === '_p_Xapian__WritableDatabase') {
4921 switch (func_num_args()) {
4922 case 0: $this->_cPtr=new_WritableDatabase(); break;
4923 default: $this->_cPtr=new_WritableDatabase($path,$flags,$block_size);
4928 WritableDatabase_commit($this->_cPtr);
4932 WritableDatabase_flush($this->_cPtr);
4935 function begin_transaction($flushed=true) {
4936 WritableDatabase_begin_transaction($this->_cPtr,$flushed);
4939 function commit_transaction() {
4940 WritableDatabase_commit_transaction($this->_cPtr);
4943 function cancel_transaction() {
4944 WritableDatabase_cancel_transaction($this->_cPtr);
4947 function add_document(XapianDocument $document) {
4948 return WritableDatabase_add_document($this->_cPtr,$document);
4951 function delete_document($did_or_unique_term) {
4952 WritableDatabase_delete_document($this->_cPtr,$did_or_unique_term);
4955 function replace_document($did_or_unique_term,XapianDocument $document) {
4956 return WritableDatabase_replace_document($this->_cPtr,$did_or_unique_term,$document);
4959 function add_spelling($word,$freqinc=1) {
4960 WritableDatabase_add_spelling($this->_cPtr,$word,$freqinc);
4963 function remove_spelling($word,$freqdec=1) {
4964 WritableDatabase_remove_spelling($this->_cPtr,$word,$freqdec);
4967 function add_synonym($term,$synonym) {
4968 WritableDatabase_add_synonym($this->_cPtr,$term,$synonym);
4971 function remove_synonym($term,$synonym) {
4972 WritableDatabase_remove_synonym($this->_cPtr,$term,$synonym);
4975 function clear_synonyms($term) {
4976 WritableDatabase_clear_synonyms($this->_cPtr,$term);
4979 function set_metadata($key,$metadata) {
4980 WritableDatabase_set_metadata($this->_cPtr,$key,$metadata);
4983 function get_description() {
4984 return WritableDatabase_get_description($this->_cPtr);