mhs-xapian 1.0.18a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. data/.gitignore +3 -0
  2. data/AUTHORS +1 -0
  3. data/COPYING +340 -0
  4. data/ChangeLog +5876 -0
  5. data/HACKING +101 -0
  6. data/INSTALL +293 -0
  7. data/Makefile +722 -0
  8. data/Makefile.am +26 -0
  9. data/Makefile.in +722 -0
  10. data/NEWS +2110 -0
  11. data/README +59 -0
  12. data/Rakefile +51 -0
  13. data/TODO +47 -0
  14. data/aclocal.m4 +7675 -0
  15. data/config.guess +1501 -0
  16. data/config.h +56 -0
  17. data/config.h.in +55 -0
  18. data/config.status +1298 -0
  19. data/config.sub +1705 -0
  20. data/configure +18536 -0
  21. data/configure.ac +944 -0
  22. data/csharp/.deps/xapian_wrap.Plo +1 -0
  23. data/csharp/AssemblyInfo.cs +40 -0
  24. data/csharp/AssemblyInfo.cs.in +40 -0
  25. data/csharp/Auto.cs +46 -0
  26. data/csharp/BM25Weight.cs +107 -0
  27. data/csharp/BoolWeight.cs +103 -0
  28. data/csharp/Database.cs +275 -0
  29. data/csharp/DateValueRangeProcessor.cs +61 -0
  30. data/csharp/Document.cs +177 -0
  31. data/csharp/ESet.cs +94 -0
  32. data/csharp/ESetIterator.cs +117 -0
  33. data/csharp/Enquire.cs +274 -0
  34. data/csharp/ExpandDecider.cs +76 -0
  35. data/csharp/Flint.cs +58 -0
  36. data/csharp/InMemory.cs +46 -0
  37. data/csharp/MSet.cs +193 -0
  38. data/csharp/MSetIterator.cs +141 -0
  39. data/csharp/Makefile +868 -0
  40. data/csharp/Makefile.am +106 -0
  41. data/csharp/Makefile.in +868 -0
  42. data/csharp/MatchDecider.cs +76 -0
  43. data/csharp/MultiValueSorter.cs +63 -0
  44. data/csharp/NumberValueRangeProcessor.cs +61 -0
  45. data/csharp/PositionIterator.cs +101 -0
  46. data/csharp/PostingIterator.cs +125 -0
  47. data/csharp/Quartz.cs +58 -0
  48. data/csharp/Query.cs +150 -0
  49. data/csharp/QueryParser.cs +174 -0
  50. data/csharp/RSet.cs +102 -0
  51. data/csharp/Remote.cs +100 -0
  52. data/csharp/SWIGTYPE_p_std__string.cs +30 -0
  53. data/csharp/SWIGTYPE_p_std__vectorTXapian__Query_t.cs +30 -0
  54. data/csharp/SWIGTYPE_p_std__vectorTstd__string_t.cs +30 -0
  55. data/csharp/SimpleStopper.cs +64 -0
  56. data/csharp/SmokeTest.cs +178 -0
  57. data/csharp/Sorter.cs +76 -0
  58. data/csharp/Stem.cs +66 -0
  59. data/csharp/Stopper.cs +91 -0
  60. data/csharp/StringValueRangeProcessor.cs +53 -0
  61. data/csharp/TermGenerator.cs +152 -0
  62. data/csharp/TermIterator.cs +125 -0
  63. data/csharp/TradWeight.cs +107 -0
  64. data/csharp/ValueIterator.cs +102 -0
  65. data/csharp/ValueRangeProcessor.cs +76 -0
  66. data/csharp/Version.cs +60 -0
  67. data/csharp/Weight.cs +93 -0
  68. data/csharp/WritableDatabase.cs +153 -0
  69. data/csharp/Xapian.cs +65 -0
  70. data/csharp/XapianPINVOKE.cs +1527 -0
  71. data/csharp/docs/Makefile +450 -0
  72. data/csharp/docs/Makefile.am +16 -0
  73. data/csharp/docs/Makefile.in +450 -0
  74. data/csharp/docs/examples/SimpleExpand.cs +109 -0
  75. data/csharp/docs/examples/SimpleIndex.cs +71 -0
  76. data/csharp/docs/examples/SimpleSearch.cs +78 -0
  77. data/csharp/docs/index.html +211 -0
  78. data/csharp/util.i +233 -0
  79. data/csharp/xapian_wrap.cc +10338 -0
  80. data/csharp/xapian_wrap.h +93 -0
  81. data/depcomp +632 -0
  82. data/extconf.rb +20 -0
  83. data/generic/except.i +80 -0
  84. data/generic/generic.mk +48 -0
  85. data/install-sh +520 -0
  86. data/java-swig/.deps/xapian_wrap.Plo +1 -0
  87. data/java-swig/Auto.java +35 -0
  88. data/java-swig/BM25Weight.java +81 -0
  89. data/java-swig/BoolWeight.java +77 -0
  90. data/java-swig/Database.java +195 -0
  91. data/java-swig/DateValueRangeProcessor.java +51 -0
  92. data/java-swig/Document.java +135 -0
  93. data/java-swig/ESet.java +71 -0
  94. data/java-swig/ESetIterator.java +71 -0
  95. data/java-swig/Enquire.java +246 -0
  96. data/java-swig/ExpandDecider.java +59 -0
  97. data/java-swig/Flint.java +43 -0
  98. data/java-swig/InMemory.java +35 -0
  99. data/java-swig/MSet.java +143 -0
  100. data/java-swig/MSetIterator.java +87 -0
  101. data/java-swig/Makefile +781 -0
  102. data/java-swig/Makefile.am +132 -0
  103. data/java-swig/Makefile.in +781 -0
  104. data/java-swig/MatchDecider.java +59 -0
  105. data/java-swig/MultiValueSorter.java +51 -0
  106. data/java-swig/NumberValueRangeProcessor.java +51 -0
  107. data/java-swig/PositionIterator.java +63 -0
  108. data/java-swig/PostingIterator.java +83 -0
  109. data/java-swig/Quartz.java +43 -0
  110. data/java-swig/Query.java +189 -0
  111. data/java-swig/QueryParser.java +214 -0
  112. data/java-swig/RSet.java +79 -0
  113. data/java-swig/Remote.java +71 -0
  114. data/java-swig/SWIGTYPE_p_std__string.java +25 -0
  115. data/java-swig/SimpleStopper.java +51 -0
  116. data/java-swig/SmokeTest.java +161 -0
  117. data/java-swig/Sorter.java +59 -0
  118. data/java-swig/Stem.java +51 -0
  119. data/java-swig/Stopper.java +63 -0
  120. data/java-swig/StringValueRangeProcessor.java +43 -0
  121. data/java-swig/TermGenerator.java +158 -0
  122. data/java-swig/TermIterator.java +83 -0
  123. data/java-swig/TradWeight.java +81 -0
  124. data/java-swig/ValueIterator.java +67 -0
  125. data/java-swig/ValueRangeProcessor.java +59 -0
  126. data/java-swig/Version.java +47 -0
  127. data/java-swig/Weight.java +68 -0
  128. data/java-swig/WritableDatabase.java +123 -0
  129. data/java-swig/Xapian.java +39 -0
  130. data/java-swig/XapianConstants.java +15 -0
  131. data/java-swig/XapianJNI.java +508 -0
  132. data/java-swig/run-java-test +6 -0
  133. data/java-swig/xapian_wrap.cc +12594 -0
  134. data/java-swig/xapian_wrap.h +91 -0
  135. data/java/Makefile +660 -0
  136. data/java/Makefile.am +35 -0
  137. data/java/Makefile.in +660 -0
  138. data/java/README +76 -0
  139. data/java/SmokeTest.java +148 -0
  140. data/java/native/.deps/Database.Plo +1 -0
  141. data/java/native/.deps/Document.Plo +1 -0
  142. data/java/native/.deps/ESet.Plo +1 -0
  143. data/java/native/.deps/ESetIterator.Plo +1 -0
  144. data/java/native/.deps/Enquire.Plo +1 -0
  145. data/java/native/.deps/MSet.Plo +1 -0
  146. data/java/native/.deps/MSetIterator.Plo +1 -0
  147. data/java/native/.deps/PositionIterator.Plo +1 -0
  148. data/java/native/.deps/Query.Plo +1 -0
  149. data/java/native/.deps/RSet.Plo +1 -0
  150. data/java/native/.deps/Stem.Plo +1 -0
  151. data/java/native/.deps/TermIterator.Plo +1 -0
  152. data/java/native/.deps/WritableDatabase.Plo +1 -0
  153. data/java/native/.deps/org_xapian_XapianJNI.Plo +1 -0
  154. data/java/native/.deps/utils.Plo +1 -0
  155. data/java/native/Database.cc +222 -0
  156. data/java/native/Document.cc +173 -0
  157. data/java/native/ESet.cc +79 -0
  158. data/java/native/ESetIterator.cc +82 -0
  159. data/java/native/Enquire.cc +271 -0
  160. data/java/native/MSet.cc +169 -0
  161. data/java/native/MSetIterator.cc +107 -0
  162. data/java/native/Makefile +594 -0
  163. data/java/native/Makefile.am +51 -0
  164. data/java/native/Makefile.in +594 -0
  165. data/java/native/PositionIterator.cc +64 -0
  166. data/java/native/Query.cc +180 -0
  167. data/java/native/RSet.cc +98 -0
  168. data/java/native/Stem.cc +75 -0
  169. data/java/native/TermIterator.cc +107 -0
  170. data/java/native/WritableDatabase.cc +118 -0
  171. data/java/native/XapianObjectHolder.h +115 -0
  172. data/java/native/org_xapian_XapianJNI.cc +78 -0
  173. data/java/native/org_xapian_XapianJNI.h +1369 -0
  174. data/java/native/utils.cc +51 -0
  175. data/java/native/xapian_jni.h +116 -0
  176. data/java/org/xapian/Database.java +148 -0
  177. data/java/org/xapian/Document.java +135 -0
  178. data/java/org/xapian/ESet.java +66 -0
  179. data/java/org/xapian/ESetIterator.java +97 -0
  180. data/java/org/xapian/Enquire.java +136 -0
  181. data/java/org/xapian/ExpandDecider.java +30 -0
  182. data/java/org/xapian/MSet.java +104 -0
  183. data/java/org/xapian/MSetIterator.java +132 -0
  184. data/java/org/xapian/Makefile +580 -0
  185. data/java/org/xapian/Makefile.am +38 -0
  186. data/java/org/xapian/Makefile.in +580 -0
  187. data/java/org/xapian/MatchDecider.java +30 -0
  188. data/java/org/xapian/PositionIterator.java +89 -0
  189. data/java/org/xapian/Query.java +190 -0
  190. data/java/org/xapian/RSet.java +89 -0
  191. data/java/org/xapian/Stem.java +80 -0
  192. data/java/org/xapian/TermIterator.java +142 -0
  193. data/java/org/xapian/WritableDatabase.java +92 -0
  194. data/java/org/xapian/Xapian.java +114 -0
  195. data/java/org/xapian/XapianJNI.java +444 -0
  196. data/java/org/xapian/errors/AssertionError.java +40 -0
  197. data/java/org/xapian/errors/DatabaseCorruptError.java +40 -0
  198. data/java/org/xapian/errors/DatabaseError.java +40 -0
  199. data/java/org/xapian/errors/DatabaseLockError.java +40 -0
  200. data/java/org/xapian/errors/DatabaseModifiedError.java +40 -0
  201. data/java/org/xapian/errors/DatabaseOpeningError.java +40 -0
  202. data/java/org/xapian/errors/DocNotFoundError.java +40 -0
  203. data/java/org/xapian/errors/FeatureUnavailableError.java +40 -0
  204. data/java/org/xapian/errors/InternalError.java +40 -0
  205. data/java/org/xapian/errors/InvalidArgumentError.java +40 -0
  206. data/java/org/xapian/errors/InvalidOperationError.java +40 -0
  207. data/java/org/xapian/errors/LogicError.java +40 -0
  208. data/java/org/xapian/errors/Makefile +416 -0
  209. data/java/org/xapian/errors/Makefile.am +32 -0
  210. data/java/org/xapian/errors/Makefile.in +416 -0
  211. data/java/org/xapian/errors/NetworkError.java +40 -0
  212. data/java/org/xapian/errors/NetworkTimeoutError.java +40 -0
  213. data/java/org/xapian/errors/RangeError.java +40 -0
  214. data/java/org/xapian/errors/RuntimeError.java +40 -0
  215. data/java/org/xapian/errors/UnimplementedError.java +40 -0
  216. data/java/org/xapian/errors/XapianError.java +40 -0
  217. data/java/org/xapian/errors/XapianRuntimeError.java +49 -0
  218. data/java/org/xapian/examples/Makefile +391 -0
  219. data/java/org/xapian/examples/Makefile.am +8 -0
  220. data/java/org/xapian/examples/Makefile.in +391 -0
  221. data/java/org/xapian/examples/SimpleIndex.java +68 -0
  222. data/java/org/xapian/examples/SimpleSearch.java +71 -0
  223. data/java/run-java-test +6 -0
  224. data/libtool +7618 -0
  225. data/ltmain.sh +6956 -0
  226. data/mhs-xapian.gemspec +368 -0
  227. data/missing +378 -0
  228. data/php/.deps/xapian_wrap.Plo +1 -0
  229. data/php/Makefile +871 -0
  230. data/php/Makefile.am +82 -0
  231. data/php/Makefile.in +871 -0
  232. data/php/docs/Makefile +453 -0
  233. data/php/docs/Makefile.am +19 -0
  234. data/php/docs/Makefile.in +453 -0
  235. data/php/docs/examples/simpleexpand.php4 +108 -0
  236. data/php/docs/examples/simpleexpand.php5 +104 -0
  237. data/php/docs/examples/simpleindex.php4 +76 -0
  238. data/php/docs/examples/simpleindex.php5 +73 -0
  239. data/php/docs/examples/simplesearch.php4 +75 -0
  240. data/php/docs/examples/simplesearch.php5 +72 -0
  241. data/php/docs/index.html +313 -0
  242. data/php/except.i +98 -0
  243. data/php/php4/php_xapian.h +323 -0
  244. data/php/php4/xapian.php +32 -0
  245. data/php/php4/xapian_wrap.cc +27656 -0
  246. data/php/php5/php_xapian.h +319 -0
  247. data/php/php5/xapian.php +1566 -0
  248. data/php/php5/xapian_wrap.cc +24330 -0
  249. data/php/smoketest.php +246 -0
  250. data/php/smoketest4.php +84 -0
  251. data/php/smoketest5.php +79 -0
  252. data/php/util.i +187 -0
  253. data/python/.deps/xapian_wrap.Plo +1 -0
  254. data/python/Makefile +891 -0
  255. data/python/Makefile.am +105 -0
  256. data/python/Makefile.in +891 -0
  257. data/python/doccomments.i +5134 -0
  258. data/python/docs/Makefile +448 -0
  259. data/python/docs/Makefile.am +14 -0
  260. data/python/docs/Makefile.in +448 -0
  261. data/python/docs/examples/simpleexpand.py +98 -0
  262. data/python/docs/examples/simpleindex.py +65 -0
  263. data/python/docs/examples/simplematchdecider.py +78 -0
  264. data/python/docs/examples/simplesearch.py +65 -0
  265. data/python/docs/index.html +420 -0
  266. data/python/except.i +290 -0
  267. data/python/extra.i +1048 -0
  268. data/python/extracomments.i +28 -0
  269. data/python/generate-python-exceptions +189 -0
  270. data/python/generate-python-exceptions.in +189 -0
  271. data/python/modern/xapian.py +5662 -0
  272. data/python/modern/xapian_wrap.cc +35170 -0
  273. data/python/modern/xapian_wrap.h +244 -0
  274. data/python/pythontest.py +1110 -0
  275. data/python/smoketest.py +328 -0
  276. data/python/testsuite.py +382 -0
  277. data/python/util.i +517 -0
  278. data/ruby/.deps/xapian_wrap.Plo +494 -0
  279. data/ruby/.libs/_xapian.bundle +0 -0
  280. data/ruby/.libs/_xapian.bundle.dSYM/Contents/Info.plist +25 -0
  281. data/ruby/.libs/_xapian.bundle.dSYM/Contents/Resources/DWARF/_xapian.bundle +0 -0
  282. data/ruby/.libs/_xapian.la +35 -0
  283. data/ruby/.libs/_xapian.lai +35 -0
  284. data/ruby/Makefile +854 -0
  285. data/ruby/Makefile.am +62 -0
  286. data/ruby/Makefile.in +854 -0
  287. data/ruby/_xapian.la +35 -0
  288. data/ruby/docs/Makefile +487 -0
  289. data/ruby/docs/Makefile.am +50 -0
  290. data/ruby/docs/Makefile.in +487 -0
  291. data/ruby/docs/examples/simpleexpand.rb +98 -0
  292. data/ruby/docs/examples/simpleindex.rb +60 -0
  293. data/ruby/docs/examples/simplematchdecider.rb +74 -0
  294. data/ruby/docs/examples/simplesearch.rb +63 -0
  295. data/ruby/docs/index.html +197 -0
  296. data/ruby/smoketest.rb +211 -0
  297. data/ruby/util.i +232 -0
  298. data/ruby/xapian.rb +280 -0
  299. data/ruby/xapian_wrap.cc +25837 -0
  300. data/ruby/xapian_wrap.h +65 -0
  301. data/ruby/xapian_wrap.lo +12 -0
  302. data/skiptest +2 -0
  303. data/stamp-h1 +1 -0
  304. data/tcl8/.deps/xapian_wrap.Plo +1 -0
  305. data/tcl8/Makefile +835 -0
  306. data/tcl8/Makefile.am +49 -0
  307. data/tcl8/Makefile.in +835 -0
  308. data/tcl8/docs/Makefile +448 -0
  309. data/tcl8/docs/Makefile.am +14 -0
  310. data/tcl8/docs/Makefile.in +448 -0
  311. data/tcl8/docs/examples/simpleexpand.tcl +104 -0
  312. data/tcl8/docs/examples/simpleindex.tcl +68 -0
  313. data/tcl8/docs/examples/simplesearch.tcl +66 -0
  314. data/tcl8/docs/index.html +208 -0
  315. data/tcl8/except.i +48 -0
  316. data/tcl8/pkgIndex.tcl +1 -0
  317. data/tcl8/pkgIndex.tcl.in +1 -0
  318. data/tcl8/run-tcl-test +15 -0
  319. data/tcl8/runtest.tcl +29 -0
  320. data/tcl8/smoketest.tcl +155 -0
  321. data/tcl8/util.i +76 -0
  322. data/tcl8/xapian_wrap.cc +20900 -0
  323. data/xapian-bindings.spec +206 -0
  324. data/xapian-bindings.spec.in +206 -0
  325. data/xapian-version.h +1 -0
  326. data/xapian-version.h.in +1 -0
  327. data/xapian.i +939 -0
  328. metadata +395 -0
@@ -0,0 +1,313 @@
1
+ <html><head><title>PHP bindings for Xapian</title></head>
2
+ <body>
3
+ <h1>PHP bindings for Xapian</h1>
4
+
5
+ <p>
6
+ The PHP bindings for Xapian are packaged in the <code>xapian</code>
7
+ extension. The PHP API provided by this extension largely follows Xapian's C++
8
+ API. This document lists the differences and additions.
9
+ </p>
10
+
11
+ <p>
12
+ These bindings can be built for either PHP4 or PHP5, though there are some
13
+ differences in how the C++ API is wrapped for each version due to differences
14
+ between PHP4 and PHP5.
15
+ </p>
16
+
17
+ <p>
18
+ PHP strings, arrays, etc., are converted automatically to and from the
19
+ corresponding C++ types in the bindings, so generally you can pass arguments as
20
+ you would expect. One thing to be aware of though is that SWIG implements
21
+ dispatch functions for overloaded methods based on the types of the parameters,
22
+ so you can't always pass in a string containing a number (e.g.
23
+ <code>"42"</code>) where a number is expected as you usually can in PHP.
24
+ You need to
25
+ explicitly convert to the type required - e.g. use <code>(int)</code> to
26
+ convert to an integer, <code>(string)</code> to string, <code>(double)</code>
27
+ to a floating point number.
28
+ </p>
29
+
30
+ <p>
31
+ PHP has a lot of reserved words of various sorts, which sadly clash with common
32
+ method names. Because of this <code>empty()</code> methods of various
33
+ container-like classes are wrapped as <code>is_empty()</code> for PHP
34
+ and the <code>clone()</code> method of the <code>XapianWeight</code>
35
+ class and subclasses is wrapped as <code>clone_object()</code>.
36
+ </p>
37
+
38
+ <p>
39
+ The <code>examples</code> subdirectory contains examples showing how to use the
40
+ PHP bindings based on the simple examples from <code>xapian-examples</code>:
41
+
42
+ <ul>
43
+ <li> PHP4:
44
+ <a href="examples/simpleindex.php4">simpleindex.php4</a>,
45
+ <a href="examples/simplesearch.php4">simplesearch.php4</a>,
46
+ <a href="examples/simpleexpand.php4">simpleexpand.php4</a>.
47
+ <li> PHP5:
48
+ <a href="examples/simpleindex.php5">simpleindex.php5</a>,
49
+ <a href="examples/simplesearch.php5">simplesearch.php5</a>,
50
+ <a href="examples/simpleexpand.php5">simpleexpand.php5</a>.
51
+ </ul>
52
+
53
+ Note that these examples are written to work with the command line (CLI)
54
+ version of the PHP interpreter, not through a webserver. Xapian's PHP
55
+ bindings may of course also be used under CGI, Apache's modphp, ISAPI,
56
+ etc.
57
+ </p>
58
+
59
+ <h2>Installation</h2>
60
+
61
+ <p>
62
+ Assuming you have a suitable version of PHP installed (PHP4 or PHP5), running
63
+ configure will automatically enable the PHP bindings, and
64
+ <code>make install</code> will install the extension shared library in
65
+ the location reported by <code>php-config --extension-dir</code>.
66
+ </p>
67
+
68
+ <p>
69
+ Check that php.ini has a line like <code>extension_dir =
70
+ "<i>&lt;location reported by php-config --extension-dir&gt;</i>"</code>.
71
+ </p>
72
+
73
+ <p>
74
+ Then add this line to php.ini: <code>extension = xapian.so</code> (or
75
+ whatever the library is called - not all UNIX systems use <code>.so</code>
76
+ as the extension, and MS Windows uses <code>.dll</code>).
77
+ </p>
78
+
79
+ <p>
80
+ If you're using PHP as a webserver module (e.g. mod_php with Apache), you
81
+ may need to restart the webserver for this change to take effect.
82
+ </p>
83
+
84
+ <p>
85
+ Alternatively, you can get scripts which use Xapian to explicitly load it.
86
+ This approach is useful if you don't have root access and so can't make
87
+ changes to php.ini. The simplest set up is to copy <code>xapian.so</code> into
88
+ the same directory as your PHP script, and then add the following line to the
89
+ start of your PHP scripts which use Xapian: <code>dl('xapian.so');</code>
90
+ </p>
91
+
92
+ <p>
93
+ You can put <code>xapian.so</code> elsewhere (and it's probably better to)
94
+ but note that <code>dl()</code> requires a <b>relative</b> path so you
95
+ might have to use something insane-looking like:
96
+ <code>dl('../../../../usr/lib/php5/20051025/xapian.so');</code>
97
+
98
+ <p>
99
+ If you're using PHP5, you also need to add <code>include&nbsp;"xapian.php"</code>
100
+ to your PHP scripts which use Xapian in order to get the PHP class wrappers.
101
+ The PHP4 class wrappers are implementing by the module you load with
102
+ <code>dl()</code>.
103
+ </p>
104
+
105
+ <h2>Exceptions</h2>
106
+
107
+ <p>
108
+ In PHP5, we translate exceptions thrown by Xapian into PHP Exception objects
109
+ which are thrown into the PHP script.
110
+ </p>
111
+
112
+ <p>
113
+ Unfortunately, exception handling with <code>try</code> and <code>catch</code>
114
+ isn't supported in PHP4, and there isn't really a good alternative approach.
115
+ Most Xapian exceptions are converted to a PHP fatal error.
116
+ However, for exceptions which might be commonly encountered we instead
117
+ produce a PHP warning and the method returns <code>null</code>. You can
118
+ then check for and handle the exception like so:
119
+ </p>
120
+
121
+ <blockquote><pre>
122
+ $old_error_reporting = error_reporting
123
+ if ($old_error_reporting &amp; E_WARNING)
124
+ error_reporting($old_error_reporting ^ E_WARNING);
125
+ $doc = $database-&gt;_get_document($docid);
126
+ if ($doc != null) {
127
+ exit(1);
128
+ }
129
+ if ($old_error_reporting &amp; E_WARNING)
130
+ error_reporting($old_error_reporting);
131
+ </pre></blockquote>
132
+
133
+ <p>The following exceptions are currently handled like this (this is a
134
+ fairly new feature, so feedback on exceptions which should and shouldn't
135
+ be in this list is particularly welcome):</p>
136
+
137
+ <ul>
138
+ <li><code>DocNotFoundError</code>
139
+ <li><code>FeatureUnavailableError</code>
140
+ </ul>
141
+
142
+ <h2>Object orientation</h2>
143
+
144
+ <p>
145
+ As of Xapian 0.9.7, the PHP bindings use a PHP object oriented style. This
146
+ is very similar for PHP4 and PHP5, but there are a few differences.
147
+ </p>
148
+
149
+ <p>
150
+ In order to construct an object, use
151
+ <code>$object = new XapianClassName(...);</code>. Objects are destroyed
152
+ when they go out of scope - to explicitly destroy an object you can use
153
+ <code>unset($object);</code> or <code>$object = Null;</code>
154
+ </p>
155
+
156
+ <p>
157
+ You invoke a method on an object using <code>$object-&gt;method_name()</code>.
158
+ </p>
159
+
160
+ <h2>Unicode Support</h2>
161
+
162
+ <p>
163
+ In Xapian 1.0.0 and later, the Xapian::Stem, Xapian::QueryParser, and
164
+ Xapian::TermGenerator classes all assume text is in UTF-8. If you want
165
+ to index strings in a different encoding, use the PHP
166
+ <a href="http://php.net/iconv"><code>iconv
167
+ function</code></a>
168
+ to convert them to UTF-8 before passing them to Xapian, and
169
+ when reading values back from Xapian.
170
+ </p>
171
+
172
+ <h2>Iterators</h2>
173
+
174
+ <p>
175
+ All iterators support <code>next()</code> and <code>equals()</code> methods
176
+ to move through and test iterators (as for all language bindings).
177
+ MSetIterator and ESetIterator also support <code>prev()</code>.
178
+ </p>
179
+
180
+ <h2>Iterator dereferencing</h2>
181
+
182
+ <p>
183
+ C++ iterators are often dereferenced to get information, eg
184
+ <code>(*it)</code>. With PHP these are all mapped to named methods, as
185
+ follows:
186
+ </p>
187
+
188
+ <table title="Iterator deferencing methods">
189
+ <thead><td>Iterator</td><td>Dereferencing method</td></thead>
190
+ <tr><td>PositionIterator</td> <td><code>get_termpos()</code></td></tr>
191
+ <tr><td>PostingIterator</td> <td><code>get_docid()</code></td></tr>
192
+ <tr><td>TermIterator</td> <td><code>get_term()</code></td></tr>
193
+ <tr><td>ValueIterator</td> <td><code>get_value()</code></td></tr>
194
+ <tr><td>MSetIterator</td> <td><code>get_docid()</code></td></tr>
195
+ <tr><td>ESetIterator</td> <td><code>get_term()</code></td></tr>
196
+ </table>
197
+
198
+ <p>
199
+ Other methods, such as <code>MSetIterator::get_document()</code>, are
200
+ available unchanged.
201
+ </p>
202
+
203
+ <h2>MSet</h2>
204
+
205
+ <p>
206
+ MSet objects have some additional methods to simplify access (these
207
+ work using the C++ array dereferencing):
208
+ </p>
209
+
210
+ <table title="MSet additional methods">
211
+ <thead><td>Method name</td><td>Explanation</td></thead>
212
+ <tr><td><code>get_hit(index)</code></td><td>returns MSetIterator at index</td></tr>
213
+ <tr><td><code>get_document_percentage(index)</code></td><td><code>convert_to_percent(get_hit(index))</code></td></tr>
214
+ <tr><td><code>get_document(index)</code></td><td><code>get_hit(index)-&gt;get_document()</code></td></tr>
215
+ <tr><td><code>get_docid(index)</code></td><td><code>get_hit(index)-&gt;get_docid()</code></td></tr>
216
+ </table>
217
+
218
+ <h2>Database Factory Functions</h2>
219
+
220
+ <p>For PHP4:</p>
221
+
222
+ <ul>
223
+ <li> <code>Xapian::Auto::open_stub(<i>file</i>)</code> is wrapped as <code>open_stub(<i>file</i>)</code>
224
+ <li> <code>Xapian::Flint::open()</code> is wrapped as <code>flint_open()</code>
225
+ <li> <code>Xapian::InMemory::open()</code> is wrapped as <code>inmemory_open()</code>
226
+ <li> <code>Xapian::Quartz::open(...)</code> is wrapped as <code>quartz_open(...)</code>
227
+ <li> <code>Xapian::Remote::open(...)</code> is wrapped as <code>remote_open(...)</code> (both
228
+ the TCP and "program" versions are wrapped - the SWIG wrapper checks the parameter list to
229
+ decide which to call).
230
+ <li> <code>Xapian::Remote::open_writable(...)</code> is wrapped as <code>remote_open_writable(...)</code> (both
231
+ the TCP and "program" versions are wrapped - the SWIG wrapper checks the parameter list to
232
+ decide which to call).
233
+ </ul>
234
+
235
+ <p>For PHP5:</p>
236
+
237
+ <ul>
238
+ <li> <code>Xapian::Auto::open_stub(<i>file</i>)</code> is wrapped as <code>Xapian::auto_open_stub(<i>file</i>)</code>
239
+ <li> <code>Xapian::Flint::open()</code> is wrapped as <code>Xapian::flint_open()</code>
240
+ <li> <code>Xapian::InMemory::open()</code> is wrapped as <code>Xapian::inmemory_open()</code>
241
+ <li> <code>Xapian::Quartz::open(...)</code> is wrapped as <code>Xapian::quartz_open(...)</code>
242
+ <li> <code>Xapian::Remote::open(...)</code> is wrapped as <code>Xapian::remote_open(...)</code> (both
243
+ the TCP and "program" versions are wrapped - the SWIG wrapper checks the parameter list to
244
+ decide which to call).
245
+ <li> <code>Xapian::Remote::open_writable(...)</code> is wrapped as <code>Xapian::remote_open_writable(...)</code> (both
246
+ the TCP and "program" versions are wrapped - the SWIG wrapper checks the parameter list to
247
+ decide which to call).
248
+ </ul>
249
+
250
+ <h2>Constants</h2>
251
+
252
+ <p>
253
+ For PHP4, constants are wrapped in a similar way to class methods.
254
+ So <code>Xapian::DB_CREATE_OR_OPEN</code> is available as
255
+ <code>Xapian_DB_CREATE_OR_OPEN</code>, <code>Xapian::Query::OP_OR</code> is
256
+ available as <code>XapianQuery_OP_OR</code>, and so on.
257
+ </p>
258
+
259
+ <p>
260
+ For PHP5, constants are wrapped as <code>const</code> members of the
261
+ appropriate class.
262
+ So <code>Xapian::DB_CREATE_OR_OPEN</code> is available as
263
+ <code>Xapian::DB_CREATE_OR_OPEN</code>, <code>Xapian::Query::OP_OR</code> is
264
+ available as <code>XapianQuery::OP_OR</code>, and so on.
265
+ </p>
266
+
267
+ <h2>Functions</h2>
268
+
269
+ <p>
270
+ For PHP5, non-class functions are wrapped in the natural way, so the C++
271
+ function <code>Xapian::version_string</code> is wrapped under the same
272
+ name in PHP. PHP4 doesn't allow this, so we wrap functions with a
273
+ <code>xapian_</code> prefix, e.g. <code>xapian_version_string</code>.
274
+ </p>
275
+
276
+ <h2>Query</h2>
277
+
278
+ <p>
279
+ In C++ there's a Xapian::Query constructor which takes a query operator and
280
+ start/end iterators specifying a number of terms or queries, plus an optional
281
+ parameter. In PHP, this is wrapped to accept an array listing the terms
282
+ and/or queries (you can specify a mixture of terms and queries if you wish)
283
+ For example, for PHP4:
284
+ </p>
285
+
286
+ <pre>
287
+ $subq = new XapianQuery(XapianQuery_OP_AND, "hello", "world");
288
+ $q = new XapianQuery(XapianQuery_OP_AND, array($subq, "foo", new XapianQuery("bar", 2)));
289
+ </pre>
290
+
291
+ <p>
292
+ And for PHP5:
293
+ </p>
294
+
295
+ <pre>
296
+ $subq = new XapianQuery(XapianQuery::OP_AND, "hello", "world");
297
+ $q = new XapianQuery(XapianQuery::OP_AND, array($subq, "foo", new XapianQuery("bar", 2)));
298
+ </pre>
299
+
300
+ <h2>Enquire</h2>
301
+
302
+ <p>
303
+ There is an additional method <code>get_matching_terms()</code> which takes
304
+ an MSetIterator and returns a list of terms in the current query which
305
+ match the document given by that iterator. You may find this
306
+ more convenient than using the TermIterator directly.
307
+ </p>
308
+
309
+ <address>
310
+ Last updated $Date: 2008-06-26 23:02:05 +0100 (Thu, 26 Jun 2008) $
311
+ </address>
312
+ </body>
313
+ </html>
data/php/except.i ADDED
@@ -0,0 +1,98 @@
1
+ /* php/except.i: Custom PHP exception handling.
2
+ *
3
+ * Copyright 1999,2000,2001 BrightStation PLC
4
+ * Copyright 2001,2002 Ananova Ltd
5
+ * Copyright 2002,2003,2005 James Aylett
6
+ * Copyright 2002,2003,2004,2005,2006,2007 Olly Betts
7
+ * Copyright 2007 Lemur Consulting Ltd
8
+ *
9
+ * This program is free software; you can redistribute it and/or
10
+ * modify it under the terms of the GNU General Public License as
11
+ * published by the Free Software Foundation; either version 2 of the
12
+ * License, or (at your option) any later version.
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program; if not, write to the Free Software
21
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
22
+ * USA
23
+ */
24
+
25
+ // PHP_MAJOR_VERSION isn't defined by older versions of PHP4 (e.g. PHP 4.1.2).
26
+ %{
27
+ # if PHP_MAJOR_VERSION-0 >= 5
28
+ # include <zend_exceptions.h>
29
+ // zend_throw_exception takes a non-const char * parameter (sigh).
30
+ // FIXME: throw errors as PHP classes corresponding to the Xapian error
31
+ // classes.
32
+ # define XapianException(TYPE, MSG) \
33
+ zend_throw_exception(NULL, (char*)(MSG).c_str(), (TYPE) TSRMLS_CC)
34
+ # endif
35
+ %}
36
+
37
+ %{
38
+ #ifndef XapianException
39
+ # define XapianException(TYPE, MSG) SWIG_exception((TYPE), (MSG).c_str())
40
+ #endif
41
+
42
+ static int XapianExceptionHandler(string & msg) {
43
+ try {
44
+ // Rethrow so we can look at the exception if it was a Xapian::Error.
45
+ throw;
46
+ } catch (const Xapian::Error &e) {
47
+ msg = e.get_type();
48
+ msg += ": ";
49
+ msg += e.get_msg();
50
+ #if PHP_MAJOR_VERSION-0 < 5
51
+ try {
52
+ // Re-rethrow the previous exception so we can handle the type in a
53
+ // fine-grained way, but only in one place to avoid bloating the
54
+ // file.
55
+ throw;
56
+ } catch (const Xapian::RangeError &e) {
57
+ // FIXME: RangeError DatabaseError and NetworkError are all
58
+ // subclasses of RuntimeError - how should we handle those for
59
+ // PHP4?
60
+ return SWIG_UnknownError;
61
+ } catch (const Xapian::DatabaseError &) {
62
+ return SWIG_UnknownError;
63
+ } catch (const Xapian::NetworkError &) {
64
+ return SWIG_UnknownError;
65
+ } catch (const Xapian::RuntimeError &) {
66
+ return SWIG_RuntimeError;
67
+ } catch (...) {
68
+ return SWIG_UnknownError;
69
+ }
70
+ #endif
71
+ } catch (...) {
72
+ msg = "unknown error in Xapian";
73
+ }
74
+ return SWIG_UnknownError;
75
+ }
76
+ %}
77
+
78
+ %exception {
79
+ try {
80
+ $function
81
+ } catch (...) {
82
+ string msg;
83
+ int code = XapianExceptionHandler(msg);
84
+ #if defined SWIGPHP
85
+ %#if PHP_MAJOR_VERSION-0 < 5
86
+ if (code == SWIG_RuntimeError) {
87
+ zend_error(E_WARNING, const_cast<char *>(msg.c_str()));
88
+ /* FIXME: destructors don't have return_value to set. */
89
+ // ZVAL_NULL(return_value);
90
+ return;
91
+ }
92
+ %#endif
93
+ #endif
94
+ XapianException(code, msg);
95
+ }
96
+ }
97
+
98
+ /* vim:set syntax=cpp:set noexpandtab: */
@@ -0,0 +1,323 @@
1
+ /* ----------------------------------------------------------------------------
2
+ * This file was automatically generated by SWIG (http://www.swig.org).
3
+ * Version 1.3.32
4
+ *
5
+ * This file is not intended to be easily readable and contains a number of
6
+ * coding conventions designed to improve portability and efficiency. Do not make
7
+ * changes to this file unless you know what you are doing--modify the SWIG
8
+ * interface file instead.
9
+ * ----------------------------------------------------------------------------- */
10
+
11
+
12
+
13
+ #ifndef PHP_XAPIAN_H
14
+ #define PHP_XAPIAN_H
15
+
16
+ extern zend_module_entry xapian_module_entry;
17
+ #define phpext_xapian_ptr &xapian_module_entry
18
+
19
+ #ifdef PHP_WIN32
20
+ # define PHP_XAPIAN_API __declspec(dllexport)
21
+ #else
22
+ # define PHP_XAPIAN_API
23
+ #endif
24
+
25
+ #ifdef ZTS
26
+ #include "TSRM.h"
27
+ #endif
28
+
29
+ PHP_MINIT_FUNCTION(xapian);
30
+ PHP_MSHUTDOWN_FUNCTION(xapian);
31
+ PHP_RINIT_FUNCTION(xapian);
32
+ PHP_RSHUTDOWN_FUNCTION(xapian);
33
+ PHP_MINFO_FUNCTION(xapian);
34
+
35
+ ZEND_NAMED_FUNCTION(_wrap_BAD_VALUENO_get);
36
+ ZEND_NAMED_FUNCTION(_wrap_xapian_version_string);
37
+ ZEND_NAMED_FUNCTION(_wrap_xapian_major_version);
38
+ ZEND_NAMED_FUNCTION(_wrap_xapian_minor_version);
39
+ ZEND_NAMED_FUNCTION(_wrap_xapian_revision);
40
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianPositionIterator);
41
+ ZEND_NAMED_FUNCTION(_wrap_XapianPositionIterator_get_termpos);
42
+ ZEND_NAMED_FUNCTION(_wrap_XapianPositionIterator_next);
43
+ ZEND_NAMED_FUNCTION(_wrap_XapianPositionIterator_equals);
44
+ ZEND_NAMED_FUNCTION(_wrap_XapianPositionIterator_skip_to);
45
+ ZEND_NAMED_FUNCTION(_wrap_XapianPositionIterator_get_description);
46
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianPostingIterator);
47
+ ZEND_NAMED_FUNCTION(_wrap_XapianPostingIterator_skip_to);
48
+ ZEND_NAMED_FUNCTION(_wrap_XapianPostingIterator_get_doclength);
49
+ ZEND_NAMED_FUNCTION(_wrap_XapianPostingIterator_get_wdf);
50
+ ZEND_NAMED_FUNCTION(_wrap_XapianPostingIterator_positionlist_begin);
51
+ ZEND_NAMED_FUNCTION(_wrap_XapianPostingIterator_positionlist_end);
52
+ ZEND_NAMED_FUNCTION(_wrap_XapianPostingIterator_get_description);
53
+ ZEND_NAMED_FUNCTION(_wrap_XapianPostingIterator_get_docid);
54
+ ZEND_NAMED_FUNCTION(_wrap_XapianPostingIterator_next);
55
+ ZEND_NAMED_FUNCTION(_wrap_XapianPostingIterator_equals);
56
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianTermIterator);
57
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermIterator_get_term);
58
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermIterator_next);
59
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermIterator_equals);
60
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermIterator_skip_to);
61
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermIterator_get_wdf);
62
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermIterator_get_termfreq);
63
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermIterator_positionlist_begin);
64
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermIterator_positionlist_end);
65
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermIterator_get_description);
66
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianValueIterator);
67
+ ZEND_NAMED_FUNCTION(_wrap_XapianValueIterator_get_value);
68
+ ZEND_NAMED_FUNCTION(_wrap_XapianValueIterator_next);
69
+ ZEND_NAMED_FUNCTION(_wrap_XapianValueIterator_equals);
70
+ ZEND_NAMED_FUNCTION(_wrap_XapianValueIterator_get_valueno);
71
+ ZEND_NAMED_FUNCTION(_wrap_XapianValueIterator_get_description);
72
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianDocument);
73
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_get_value);
74
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_add_value);
75
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_remove_value);
76
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_clear_values);
77
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_get_data);
78
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_set_data);
79
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_add_posting);
80
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_add_term);
81
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_add_boolean_term);
82
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_remove_posting);
83
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_remove_term);
84
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_clear_terms);
85
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_termlist_count);
86
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_termlist_begin);
87
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_termlist_end);
88
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_values_count);
89
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_values_begin);
90
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_values_end);
91
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_get_docid);
92
+ ZEND_NAMED_FUNCTION(_wrap_XapianDocument_get_description);
93
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianMSet);
94
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_fetch);
95
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_convert_to_percent);
96
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_termfreq);
97
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_termweight);
98
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_firstitem);
99
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_matches_lower_bound);
100
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_matches_estimated);
101
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_matches_upper_bound);
102
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_max_possible);
103
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_max_attained);
104
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_size);
105
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_empty);
106
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_begin);
107
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_end);
108
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_back);
109
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_hit);
110
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_document_percentage);
111
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_document);
112
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_docid);
113
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_document_id);
114
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSet_get_description);
115
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianMSetIterator);
116
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSetIterator_get_docid);
117
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSetIterator_next);
118
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSetIterator_prev);
119
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSetIterator_equals);
120
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSetIterator_get_document);
121
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSetIterator_get_rank);
122
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSetIterator_get_weight);
123
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSetIterator_get_collapse_key);
124
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSetIterator_get_collapse_count);
125
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSetIterator_get_percent);
126
+ ZEND_NAMED_FUNCTION(_wrap_XapianMSetIterator_get_description);
127
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianESet);
128
+ ZEND_NAMED_FUNCTION(_wrap_XapianESet_get_ebound);
129
+ ZEND_NAMED_FUNCTION(_wrap_XapianESet_size);
130
+ ZEND_NAMED_FUNCTION(_wrap_XapianESet_empty);
131
+ ZEND_NAMED_FUNCTION(_wrap_XapianESet_begin);
132
+ ZEND_NAMED_FUNCTION(_wrap_XapianESet_end);
133
+ ZEND_NAMED_FUNCTION(_wrap_XapianESet_back);
134
+ ZEND_NAMED_FUNCTION(_wrap_XapianESet_get_description);
135
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianESetIterator);
136
+ ZEND_NAMED_FUNCTION(_wrap_XapianESetIterator_get_termname);
137
+ ZEND_NAMED_FUNCTION(_wrap_XapianESetIterator_get_term);
138
+ ZEND_NAMED_FUNCTION(_wrap_XapianESetIterator_next);
139
+ ZEND_NAMED_FUNCTION(_wrap_XapianESetIterator_prev);
140
+ ZEND_NAMED_FUNCTION(_wrap_XapianESetIterator_equals);
141
+ ZEND_NAMED_FUNCTION(_wrap_XapianESetIterator_get_weight);
142
+ ZEND_NAMED_FUNCTION(_wrap_XapianESetIterator_get_description);
143
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianRSet);
144
+ ZEND_NAMED_FUNCTION(_wrap_XapianRSet_size);
145
+ ZEND_NAMED_FUNCTION(_wrap_XapianRSet_empty);
146
+ ZEND_NAMED_FUNCTION(_wrap_XapianRSet_add_document);
147
+ ZEND_NAMED_FUNCTION(_wrap_XapianRSet_remove_document);
148
+ ZEND_NAMED_FUNCTION(_wrap_XapianRSet_contains);
149
+ ZEND_NAMED_FUNCTION(_wrap_XapianRSet_get_description);
150
+ ZEND_NAMED_FUNCTION(_wrap_MatchDecider_apply);
151
+ ZEND_NAMED_FUNCTION(_wrap_new_MatchDecider);
152
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianEnquire);
153
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_set_query);
154
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_get_query);
155
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_set_weighting_scheme);
156
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_set_collapse_key);
157
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_set_docid_order);
158
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_set_cutoff);
159
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_set_sort_by_relevance);
160
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_set_sort_by_value);
161
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_set_sort_by_value_then_relevance);
162
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_set_sort_by_relevance_then_value);
163
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_set_sort_by_key);
164
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_set_sort_by_key_then_relevance);
165
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_set_sort_by_relevance_then_key);
166
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_get_mset);
167
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_get_eset);
168
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_get_matching_terms_begin);
169
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_get_matching_terms_end);
170
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_get_matching_terms);
171
+ ZEND_NAMED_FUNCTION(_wrap_XapianEnquire_get_description);
172
+ ZEND_NAMED_FUNCTION(_wrap_XapianWeight_name);
173
+ ZEND_NAMED_FUNCTION(_wrap_XapianWeight_serialise);
174
+ ZEND_NAMED_FUNCTION(_wrap_XapianWeight_unserialise);
175
+ ZEND_NAMED_FUNCTION(_wrap_XapianWeight_get_sumpart);
176
+ ZEND_NAMED_FUNCTION(_wrap_XapianWeight_get_maxpart);
177
+ ZEND_NAMED_FUNCTION(_wrap_XapianWeight_get_sumextra);
178
+ ZEND_NAMED_FUNCTION(_wrap_XapianWeight_get_maxextra);
179
+ ZEND_NAMED_FUNCTION(_wrap_XapianWeight_get_sumpart_needs_doclength);
180
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianWeight);
181
+ ZEND_NAMED_FUNCTION(_wrap_XapianBoolWeight_clone);
182
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianBoolWeight);
183
+ ZEND_NAMED_FUNCTION(_wrap_XapianBoolWeight_name);
184
+ ZEND_NAMED_FUNCTION(_wrap_XapianBoolWeight_serialise);
185
+ ZEND_NAMED_FUNCTION(_wrap_XapianBoolWeight_unserialise);
186
+ ZEND_NAMED_FUNCTION(_wrap_XapianBoolWeight_get_sumpart);
187
+ ZEND_NAMED_FUNCTION(_wrap_XapianBoolWeight_get_maxpart);
188
+ ZEND_NAMED_FUNCTION(_wrap_XapianBoolWeight_get_sumextra);
189
+ ZEND_NAMED_FUNCTION(_wrap_XapianBoolWeight_get_maxextra);
190
+ ZEND_NAMED_FUNCTION(_wrap_XapianBoolWeight_get_sumpart_needs_doclength);
191
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianBM25Weight);
192
+ ZEND_NAMED_FUNCTION(_wrap_XapianBM25Weight_clone);
193
+ ZEND_NAMED_FUNCTION(_wrap_XapianBM25Weight_name);
194
+ ZEND_NAMED_FUNCTION(_wrap_XapianBM25Weight_serialise);
195
+ ZEND_NAMED_FUNCTION(_wrap_XapianBM25Weight_unserialise);
196
+ ZEND_NAMED_FUNCTION(_wrap_XapianBM25Weight_get_sumpart);
197
+ ZEND_NAMED_FUNCTION(_wrap_XapianBM25Weight_get_maxpart);
198
+ ZEND_NAMED_FUNCTION(_wrap_XapianBM25Weight_get_sumextra);
199
+ ZEND_NAMED_FUNCTION(_wrap_XapianBM25Weight_get_maxextra);
200
+ ZEND_NAMED_FUNCTION(_wrap_XapianBM25Weight_get_sumpart_needs_doclength);
201
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianTradWeight);
202
+ ZEND_NAMED_FUNCTION(_wrap_XapianTradWeight_clone);
203
+ ZEND_NAMED_FUNCTION(_wrap_XapianTradWeight_name);
204
+ ZEND_NAMED_FUNCTION(_wrap_XapianTradWeight_serialise);
205
+ ZEND_NAMED_FUNCTION(_wrap_XapianTradWeight_unserialise);
206
+ ZEND_NAMED_FUNCTION(_wrap_XapianTradWeight_get_sumpart);
207
+ ZEND_NAMED_FUNCTION(_wrap_XapianTradWeight_get_maxpart);
208
+ ZEND_NAMED_FUNCTION(_wrap_XapianTradWeight_get_sumextra);
209
+ ZEND_NAMED_FUNCTION(_wrap_XapianTradWeight_get_maxextra);
210
+ ZEND_NAMED_FUNCTION(_wrap_XapianTradWeight_get_sumpart_needs_doclength);
211
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_add_database);
212
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianDatabase);
213
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_reopen);
214
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_get_description);
215
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_postlist_begin);
216
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_postlist_end);
217
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_termlist_begin);
218
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_termlist_end);
219
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_positionlist_begin);
220
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_positionlist_end);
221
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_allterms_begin);
222
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_allterms_end);
223
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_get_doccount);
224
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_get_lastdocid);
225
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_get_avlength);
226
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_get_termfreq);
227
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_term_exists);
228
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_get_collection_freq);
229
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_get_doclength);
230
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_keep_alive);
231
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_get_document);
232
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_get_spelling_suggestion);
233
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_spellings_begin);
234
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_spellings_end);
235
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_synonyms_begin);
236
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_synonyms_end);
237
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_synonym_keys_begin);
238
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_synonym_keys_end);
239
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_get_metadata);
240
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_metadata_keys_begin);
241
+ ZEND_NAMED_FUNCTION(_wrap_XapianDatabase_metadata_keys_end);
242
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianWritableDatabase);
243
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_flush);
244
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_begin_transaction);
245
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_commit_transaction);
246
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_cancel_transaction);
247
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_add_document);
248
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_delete_document);
249
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_replace_document);
250
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_add_spelling);
251
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_remove_spelling);
252
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_add_synonym);
253
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_remove_synonym);
254
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_clear_synonyms);
255
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_set_metadata);
256
+ ZEND_NAMED_FUNCTION(_wrap_XapianWritableDatabase_get_description);
257
+ ZEND_NAMED_FUNCTION(_wrap_auto_open_stub);
258
+ ZEND_NAMED_FUNCTION(_wrap_quartz_open);
259
+ ZEND_NAMED_FUNCTION(_wrap_flint_open);
260
+ ZEND_NAMED_FUNCTION(_wrap_inmemory_open);
261
+ ZEND_NAMED_FUNCTION(_wrap_remote_open);
262
+ ZEND_NAMED_FUNCTION(_wrap_remote_open_writable);
263
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianQuery);
264
+ ZEND_NAMED_FUNCTION(_wrap_XapianQuery_get_length);
265
+ ZEND_NAMED_FUNCTION(_wrap_XapianQuery_get_terms_begin);
266
+ ZEND_NAMED_FUNCTION(_wrap_XapianQuery_get_terms_end);
267
+ ZEND_NAMED_FUNCTION(_wrap_XapianQuery_empty);
268
+ ZEND_NAMED_FUNCTION(_wrap_XapianQuery_get_description);
269
+ ZEND_NAMED_FUNCTION(_wrap_XapianStopper_apply);
270
+ ZEND_NAMED_FUNCTION(_wrap_XapianStopper_get_description);
271
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianStopper);
272
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianSimpleStopper);
273
+ ZEND_NAMED_FUNCTION(_wrap_XapianSimpleStopper_add);
274
+ ZEND_NAMED_FUNCTION(_wrap_XapianSimpleStopper_apply);
275
+ ZEND_NAMED_FUNCTION(_wrap_XapianSimpleStopper_get_description);
276
+ ZEND_NAMED_FUNCTION(_wrap_XapianValueRangeProcessor_apply);
277
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianValueRangeProcessor);
278
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianStringValueRangeProcessor);
279
+ ZEND_NAMED_FUNCTION(_wrap_XapianStringValueRangeProcessor_apply);
280
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianDateValueRangeProcessor);
281
+ ZEND_NAMED_FUNCTION(_wrap_XapianDateValueRangeProcessor_apply);
282
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianNumberValueRangeProcessor);
283
+ ZEND_NAMED_FUNCTION(_wrap_XapianNumberValueRangeProcessor_apply);
284
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianQueryParser);
285
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_set_stemmer);
286
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_set_stemming_strategy);
287
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_set_stopper);
288
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_set_default_op);
289
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_get_default_op);
290
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_set_database);
291
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_parse_query);
292
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_add_prefix);
293
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_add_boolean_prefix);
294
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_stoplist_begin);
295
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_stoplist_end);
296
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_unstem_begin);
297
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_unstem_end);
298
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_add_valuerangeprocessor);
299
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_get_corrected_query_string);
300
+ ZEND_NAMED_FUNCTION(_wrap_XapianQueryParser_get_description);
301
+ ZEND_NAMED_FUNCTION(_wrap_xapian_sortable_serialise);
302
+ ZEND_NAMED_FUNCTION(_wrap_xapian_sortable_unserialise);
303
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianStem);
304
+ ZEND_NAMED_FUNCTION(_wrap_XapianStem_apply);
305
+ ZEND_NAMED_FUNCTION(_wrap_XapianStem_get_description);
306
+ ZEND_NAMED_FUNCTION(_wrap_XapianStem_get_available_languages);
307
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianTermGenerator);
308
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermGenerator_set_stemmer);
309
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermGenerator_set_stopper);
310
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermGenerator_set_document);
311
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermGenerator_get_document);
312
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermGenerator_set_database);
313
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermGenerator_set_flags);
314
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermGenerator_index_text);
315
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermGenerator_index_text_without_positions);
316
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermGenerator_increase_termpos);
317
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermGenerator_get_termpos);
318
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermGenerator_set_termpos);
319
+ ZEND_NAMED_FUNCTION(_wrap_XapianTermGenerator_get_description);
320
+ ZEND_NAMED_FUNCTION(_wrap_new_XapianMultiValueSorter);
321
+ ZEND_NAMED_FUNCTION(_wrap_XapianMultiValueSorter_apply);
322
+ ZEND_NAMED_FUNCTION(_wrap_XapianMultiValueSorter_add);
323
+ #endif /* PHP_XAPIAN_H */