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,206 @@
1
+ # RedHat-style .spec file for Xapian
2
+ # xapian-bindings.spec. Generated from xapian-bindings.spec.in by configure.
3
+ #
4
+ # If you don't want to try building packages for all the supported bindings,
5
+ # you can disable particular bindings by passing these options to rpmbuild:
6
+ #
7
+ # --without csharp Disable C# bindings
8
+ # --without php Disable PHP bindings
9
+ # --without python Disable Python bindings
10
+ # --without ruby Disable Ruby bindings
11
+ # --without tcl8 Disable Tcl8 bindings
12
+
13
+ %if 0%{?!_without_python:1}
14
+ %define python_ver %(%{__python} -c "import sys; print sys.version[:3]")
15
+ %endif
16
+
17
+ %if 0%{?!_without_php:1}
18
+ %define php_extension_dir %(php-config --extension-dir)
19
+ %endif
20
+
21
+ %if 0%{?!_without_ruby:1}
22
+ %define ruby_ver %(ruby -e "print RUBY_VERSION")
23
+ %endif
24
+
25
+ %if 0%{?!_without_tcl8:1}
26
+ %define tcl_lib %(echo 'foreach d $tcl_pkgPath {if {![regexp {/share(/|$)} $d]} {break}};puts $d'|tclsh)
27
+ %endif
28
+
29
+ Summary: Bindings for the Xapian Probabilistic Information Retrieval Library
30
+ Name: xapian-bindings
31
+ Version: 1.0.18
32
+ Release: 1
33
+ License: GPL
34
+ Vendor: xapian.org
35
+ Group: Development/Libraries
36
+ URL: http://xapian.org/
37
+ Requires: xapian-core-libs = %{version}
38
+ %if 0%{?!_without_python:1}
39
+ BuildRequires: python-devel >= 2.2
40
+ %endif
41
+ %if 0%{?!_without_php:1}
42
+ BuildRequires: php-devel >= 4.3
43
+ %endif
44
+ %if 0%{?!_without_ruby:1}
45
+ BuildRequires: ruby-devel >= 1.8
46
+ %endif
47
+ %if 0%{?!_without_tcl8:1}
48
+ BuildRequires: tcl-devel >= 8.1
49
+ %endif
50
+ %if 0%{?!_without_csharp:1}
51
+ BuildRequires: mono-devel >= 1.1
52
+ %endif
53
+ BuildRequires: autoconf automake libtool
54
+ Source0: http://oligarchy.co.uk/xapian/%{version}/%{name}-%{version}.tar.gz
55
+ Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
56
+
57
+ %description
58
+ Xapian is an Open Source Probabilistic Information Retrieval Library. It
59
+ offers a highly adaptable toolkit that allows developers to easily add advanced
60
+ indexing and search facilities to applications. This package provides the
61
+ files needed for scripts which use Xapian.
62
+
63
+ %if 0%{?!_without_ruby:1}
64
+ %package ruby
65
+ Group: Development/Libraries
66
+ Summary: Files needed for Ruby scripts which use Xapian.
67
+ Requires: %{name} = %{version}, ruby >= %{ruby_ver}
68
+
69
+ %description ruby
70
+ Xapian is an Open Source Probabilistic Information Retrieval framework. It
71
+ offers a highly adaptable toolkit that allows developers to easily add advanced
72
+ indexing and search facilities to applications. This package provides the
73
+ files needed for developing and running Ruby scripts which use Xapian.
74
+ %endif
75
+
76
+ %if 0%{?!_without_python:1}
77
+ %package python
78
+ Group: Development/Libraries
79
+ Summary: Files needed for Python scripts which use Xapian.
80
+ Requires: %{name} = %{version}, python >= %{python_ver}
81
+
82
+ %description python
83
+ Xapian is an Open Source Probabilistic Information Retrieval framework. It
84
+ offers a highly adaptable toolkit that allows developers to easily add advanced
85
+ indexing and search facilities to applications. This package provides the
86
+ files needed for developing and running Python scripts which use Xapian.
87
+ %endif
88
+
89
+ %if 0%{?!_without_php:1}
90
+ %package php
91
+ Group: Development/Libraries
92
+ Summary: Files needed for PHP scripts which use Xapian.
93
+ Requires: %{name} = %{version}, php
94
+
95
+ %description php
96
+ Xapian is an Open Source Probabilistic Information Retrieval framework. It
97
+ offers a highly adaptable toolkit that allows developers to easily add advanced
98
+ indexing and search facilities to applications. This package provides the
99
+ files needed for developing and running PHP scripts which use Xapian.
100
+ %endif
101
+
102
+ %if 0%{?!_without_tcl8:1}
103
+ %package tcl8
104
+ Group: Development/Libraries
105
+ Summary: Files needed for Tcl scripts which use Xapian.
106
+ Requires: %{name} = %{version}, tcl
107
+
108
+ %description tcl8
109
+ Xapian is an Open Source Probabilistic Information Retrieval framework. It
110
+ offers a highly adaptable toolkit that allows developers to easily add advanced
111
+ indexing and search facilities to applications. This package provides the
112
+ files needed for developing and running Tcl scripts which use Xapian.
113
+ %endif
114
+
115
+ %if 0%{?!_without_csharp:1}
116
+ %package csharp
117
+ Group: Development/Libraries
118
+ Summary: Files needed for C# applications which use Xapian.
119
+ Requires: %{name} = %{version}, mono-core
120
+
121
+ %description csharp
122
+ Xapian is an Open Source Probabilistic Information Retrieval framework. It
123
+ offers a highly adaptable toolkit that allows developers to easily add advanced
124
+ indexing and search facilities to applications. This package provides the
125
+ files needed for developing and running C# applications which use Xapian.
126
+ %endif
127
+
128
+ %prep
129
+ %setup -q -n %{name}-%{version}
130
+
131
+ %build
132
+ # FC6 (at least) has a patched libtool which knows not to set rpath for
133
+ # /usr/lib64, which upstream libtool fails to do currently. We can drop
134
+ # this "autoreconf --force" and the "BuildRequires:" for the autotools
135
+ # once upstream libtool is fixed. Note: this overwrites INSTALL, but
136
+ # that doesn't matter here as we don't package it.
137
+ autoreconf --force
138
+ # Only build the bindings we want.
139
+ %configure %{?!_without_python:--with-python} %{?!_without_php:--with-php} %{?!_without_tcl8:--with-tcl} %{?!_without_csharp:--with-csharp} %{?!_without_ruby:--with-ruby}
140
+ make
141
+
142
+ %install
143
+ [ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
144
+ mkdir -p %{buildroot}
145
+ # Installation of some files does not obey prefix, so use make install with
146
+ # DESTDIR instead of makeinstall.
147
+ make install DESTDIR=%{buildroot}
148
+ # Move the docs to the right places.
149
+ %{?!_without_python: mv %{buildroot}%{_datadir}/doc/%{name}/python %{buildroot}%{_datadir}/doc/%{name}-python-%{version}}
150
+ %{?!_without_php: mv %{buildroot}%{_datadir}/doc/%{name}/php %{buildroot}%{_datadir}/doc/%{name}-php-%{version}}
151
+ %{?!_without_php: [ -d "%{buildroot}%{_datadir}/php5" ] && mv %{buildroot}%{_datadir}/php5 %{buildroot}%{_datadir}/php}
152
+ %{?!_without_php: [ -d "%{buildroot}%{_datadir}/php4" ] && mv %{buildroot}%{_datadir}/php4 %{buildroot}%{_datadir}/php}
153
+ %{?!_without_tcl8: mv %{buildroot}%{_datadir}/doc/%{name}/tcl8 %{buildroot}%{_datadir}/doc/%{name}-tcl8-%{version}}
154
+ %{?!_without_csharp: mv %{buildroot}%{_datadir}/doc/%{name}/csharp %{buildroot}%{_datadir}/doc/%{name}-csharp-%{version}}
155
+
156
+ %clean
157
+ [ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
158
+
159
+ %files
160
+ %defattr(-, root, root)
161
+ # There are no common files at the moment
162
+ %doc AUTHORS ChangeLog COPYING NEWS README
163
+
164
+ %if 0%{?!_without_python:1}
165
+ %files python
166
+ %defattr(-, root, root)
167
+ %{_libdir}/python%{python_ver}/site-packages/_xapian.so
168
+ %{_libdir}/python%{python_ver}/site-packages/xapian.py
169
+ %{_libdir}/python%{python_ver}/site-packages/xapian.pyc
170
+ %ghost %{_libdir}/python%{python_ver}/site-packages/xapian.pyo
171
+ %doc %{_datadir}/doc/%{name}-python-%{version}
172
+ %endif
173
+
174
+ %if 0%{?!_without_php:1}
175
+ %files php
176
+ %defattr(-, root, root)
177
+ %{php_extension_dir}/xapian.so
178
+ %{_datadir}/php/xapian.php
179
+ %doc %{_datadir}/doc/%{name}-php-%{version}
180
+ %endif
181
+
182
+ %if 0%{?!_without_ruby:1}
183
+ %files ruby
184
+ %defattr(-, root, root)
185
+ %{_libdir}/ruby
186
+ /usr/lib/ruby
187
+ %defattr(0644, root, root)
188
+ %{_docdir}/xapian-bindings/ruby/
189
+ %endif
190
+
191
+ %if 0%{?!_without_tcl8:1}
192
+ %files tcl8
193
+ %defattr(-, root, root)
194
+ %{tcl_lib}/xapian%{version}
195
+ %doc %{_datadir}/doc/%{name}-tcl8-%{version}
196
+ %endif
197
+
198
+ %if 0%{?!_without_csharp:1}
199
+ %files csharp
200
+ %defattr(-, root, root)
201
+ %{_libdir}/_XapianSharp.la
202
+ %{_libdir}/_XapianSharp.so
203
+ %{_libdir}/mono/XapianSharp
204
+ %{_libdir}/mono/gac/XapianSharp
205
+ %doc %{_datadir}/doc/%{name}-csharp-%{version}
206
+ %endif
@@ -0,0 +1,206 @@
1
+ # RedHat-style .spec file for Xapian
2
+ # @configure_input@
3
+ #
4
+ # If you don't want to try building packages for all the supported bindings,
5
+ # you can disable particular bindings by passing these options to rpmbuild:
6
+ #
7
+ # --without csharp Disable C# bindings
8
+ # --without php Disable PHP bindings
9
+ # --without python Disable Python bindings
10
+ # --without ruby Disable Ruby bindings
11
+ # --without tcl8 Disable Tcl8 bindings
12
+
13
+ %if 0%{?!_without_python:1}
14
+ %define python_ver %(%{__python} -c "import sys; print sys.version[:3]")
15
+ %endif
16
+
17
+ %if 0%{?!_without_php:1}
18
+ %define php_extension_dir %(php-config --extension-dir)
19
+ %endif
20
+
21
+ %if 0%{?!_without_ruby:1}
22
+ %define ruby_ver %(ruby -e "print RUBY_VERSION")
23
+ %endif
24
+
25
+ %if 0%{?!_without_tcl8:1}
26
+ %define tcl_lib %(echo 'foreach d $tcl_pkgPath {if {![regexp {/share(/|$)} $d]} {break}};puts $d'|tclsh)
27
+ %endif
28
+
29
+ Summary: Bindings for the Xapian Probabilistic Information Retrieval Library
30
+ Name: xapian-bindings
31
+ Version: @VERSION@
32
+ Release: 1
33
+ License: GPL
34
+ Vendor: xapian.org
35
+ Group: Development/Libraries
36
+ URL: http://xapian.org/
37
+ Requires: xapian-core-libs = %{version}
38
+ %if 0%{?!_without_python:1}
39
+ BuildRequires: python-devel >= 2.2
40
+ %endif
41
+ %if 0%{?!_without_php:1}
42
+ BuildRequires: php-devel >= 4.3
43
+ %endif
44
+ %if 0%{?!_without_ruby:1}
45
+ BuildRequires: ruby-devel >= 1.8
46
+ %endif
47
+ %if 0%{?!_without_tcl8:1}
48
+ BuildRequires: tcl-devel >= 8.1
49
+ %endif
50
+ %if 0%{?!_without_csharp:1}
51
+ BuildRequires: mono-devel >= 1.1
52
+ %endif
53
+ BuildRequires: autoconf automake libtool
54
+ Source0: http://oligarchy.co.uk/xapian/%{version}/%{name}-%{version}.tar.gz
55
+ Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
56
+
57
+ %description
58
+ Xapian is an Open Source Probabilistic Information Retrieval Library. It
59
+ offers a highly adaptable toolkit that allows developers to easily add advanced
60
+ indexing and search facilities to applications. This package provides the
61
+ files needed for scripts which use Xapian.
62
+
63
+ %if 0%{?!_without_ruby:1}
64
+ %package ruby
65
+ Group: Development/Libraries
66
+ Summary: Files needed for Ruby scripts which use Xapian.
67
+ Requires: %{name} = %{version}, ruby >= %{ruby_ver}
68
+
69
+ %description ruby
70
+ Xapian is an Open Source Probabilistic Information Retrieval framework. It
71
+ offers a highly adaptable toolkit that allows developers to easily add advanced
72
+ indexing and search facilities to applications. This package provides the
73
+ files needed for developing and running Ruby scripts which use Xapian.
74
+ %endif
75
+
76
+ %if 0%{?!_without_python:1}
77
+ %package python
78
+ Group: Development/Libraries
79
+ Summary: Files needed for Python scripts which use Xapian.
80
+ Requires: %{name} = %{version}, python >= %{python_ver}
81
+
82
+ %description python
83
+ Xapian is an Open Source Probabilistic Information Retrieval framework. It
84
+ offers a highly adaptable toolkit that allows developers to easily add advanced
85
+ indexing and search facilities to applications. This package provides the
86
+ files needed for developing and running Python scripts which use Xapian.
87
+ %endif
88
+
89
+ %if 0%{?!_without_php:1}
90
+ %package php
91
+ Group: Development/Libraries
92
+ Summary: Files needed for PHP scripts which use Xapian.
93
+ Requires: %{name} = %{version}, php
94
+
95
+ %description php
96
+ Xapian is an Open Source Probabilistic Information Retrieval framework. It
97
+ offers a highly adaptable toolkit that allows developers to easily add advanced
98
+ indexing and search facilities to applications. This package provides the
99
+ files needed for developing and running PHP scripts which use Xapian.
100
+ %endif
101
+
102
+ %if 0%{?!_without_tcl8:1}
103
+ %package tcl8
104
+ Group: Development/Libraries
105
+ Summary: Files needed for Tcl scripts which use Xapian.
106
+ Requires: %{name} = %{version}, tcl
107
+
108
+ %description tcl8
109
+ Xapian is an Open Source Probabilistic Information Retrieval framework. It
110
+ offers a highly adaptable toolkit that allows developers to easily add advanced
111
+ indexing and search facilities to applications. This package provides the
112
+ files needed for developing and running Tcl scripts which use Xapian.
113
+ %endif
114
+
115
+ %if 0%{?!_without_csharp:1}
116
+ %package csharp
117
+ Group: Development/Libraries
118
+ Summary: Files needed for C# applications which use Xapian.
119
+ Requires: %{name} = %{version}, mono-core
120
+
121
+ %description csharp
122
+ Xapian is an Open Source Probabilistic Information Retrieval framework. It
123
+ offers a highly adaptable toolkit that allows developers to easily add advanced
124
+ indexing and search facilities to applications. This package provides the
125
+ files needed for developing and running C# applications which use Xapian.
126
+ %endif
127
+
128
+ %prep
129
+ %setup -q -n %{name}-%{version}
130
+
131
+ %build
132
+ # FC6 (at least) has a patched libtool which knows not to set rpath for
133
+ # /usr/lib64, which upstream libtool fails to do currently. We can drop
134
+ # this "autoreconf --force" and the "BuildRequires:" for the autotools
135
+ # once upstream libtool is fixed. Note: this overwrites INSTALL, but
136
+ # that doesn't matter here as we don't package it.
137
+ autoreconf --force
138
+ # Only build the bindings we want.
139
+ %configure %{?!_without_python:--with-python} %{?!_without_php:--with-php} %{?!_without_tcl8:--with-tcl} %{?!_without_csharp:--with-csharp} %{?!_without_ruby:--with-ruby}
140
+ make
141
+
142
+ %install
143
+ [ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
144
+ mkdir -p %{buildroot}
145
+ # Installation of some files does not obey prefix, so use make install with
146
+ # DESTDIR instead of makeinstall.
147
+ make install DESTDIR=%{buildroot}
148
+ # Move the docs to the right places.
149
+ %{?!_without_python: mv %{buildroot}%{_datadir}/doc/%{name}/python %{buildroot}%{_datadir}/doc/%{name}-python-%{version}}
150
+ %{?!_without_php: mv %{buildroot}%{_datadir}/doc/%{name}/php %{buildroot}%{_datadir}/doc/%{name}-php-%{version}}
151
+ %{?!_without_php: [ -d "%{buildroot}%{_datadir}/php5" ] && mv %{buildroot}%{_datadir}/php5 %{buildroot}%{_datadir}/php}
152
+ %{?!_without_php: [ -d "%{buildroot}%{_datadir}/php4" ] && mv %{buildroot}%{_datadir}/php4 %{buildroot}%{_datadir}/php}
153
+ %{?!_without_tcl8: mv %{buildroot}%{_datadir}/doc/%{name}/tcl8 %{buildroot}%{_datadir}/doc/%{name}-tcl8-%{version}}
154
+ %{?!_without_csharp: mv %{buildroot}%{_datadir}/doc/%{name}/csharp %{buildroot}%{_datadir}/doc/%{name}-csharp-%{version}}
155
+
156
+ %clean
157
+ [ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
158
+
159
+ %files
160
+ %defattr(-, root, root)
161
+ # There are no common files at the moment
162
+ %doc AUTHORS ChangeLog COPYING NEWS README
163
+
164
+ %if 0%{?!_without_python:1}
165
+ %files python
166
+ %defattr(-, root, root)
167
+ %{_libdir}/python%{python_ver}/site-packages/_xapian.so
168
+ %{_libdir}/python%{python_ver}/site-packages/xapian.py
169
+ %{_libdir}/python%{python_ver}/site-packages/xapian.pyc
170
+ %ghost %{_libdir}/python%{python_ver}/site-packages/xapian.pyo
171
+ %doc %{_datadir}/doc/%{name}-python-%{version}
172
+ %endif
173
+
174
+ %if 0%{?!_without_php:1}
175
+ %files php
176
+ %defattr(-, root, root)
177
+ %{php_extension_dir}/xapian.so
178
+ %{_datadir}/php/xapian.php
179
+ %doc %{_datadir}/doc/%{name}-php-%{version}
180
+ %endif
181
+
182
+ %if 0%{?!_without_ruby:1}
183
+ %files ruby
184
+ %defattr(-, root, root)
185
+ %{_libdir}/ruby
186
+ /usr/lib/ruby
187
+ %defattr(0644, root, root)
188
+ %{_docdir}/xapian-bindings/ruby/
189
+ %endif
190
+
191
+ %if 0%{?!_without_tcl8:1}
192
+ %files tcl8
193
+ %defattr(-, root, root)
194
+ %{tcl_lib}/xapian%{version}
195
+ %doc %{_datadir}/doc/%{name}-tcl8-%{version}
196
+ %endif
197
+
198
+ %if 0%{?!_without_csharp:1}
199
+ %files csharp
200
+ %defattr(-, root, root)
201
+ %{_libdir}/_XapianSharp.la
202
+ %{_libdir}/_XapianSharp.so
203
+ %{_libdir}/mono/XapianSharp
204
+ %{_libdir}/mono/gac/XapianSharp
205
+ %doc %{_datadir}/doc/%{name}-csharp-%{version}
206
+ %endif
data/xapian-version.h ADDED
@@ -0,0 +1 @@
1
+ #define XAPIAN_BINDINGS_VERSION "1.0.18"
@@ -0,0 +1 @@
1
+ #define XAPIAN_BINDINGS_VERSION "@PACKAGE_VERSION@"
data/xapian.i ADDED
@@ -0,0 +1,939 @@
1
+ %module(directors="1") xapian
2
+
3
+ %{
4
+ /* xapian.i: the Xapian scripting interface.
5
+ *
6
+ * Copyright 1999,2000,2001 BrightStation PLC
7
+ * Copyright 2001,2002 Ananova Ltd
8
+ * Copyright 2002,2003,2005 James Aylett
9
+ * Copyright 2002,2003,2004,2005,2006,2007,2008 Olly Betts
10
+ * Copyright 2007 Lemur Consulting Ltd
11
+ *
12
+ * This program is free software; you can redistribute it and/or
13
+ * modify it under the terms of the GNU General Public License as
14
+ * published by the Free Software Foundation; either version 2 of the
15
+ * License, or (at your option) any later version.
16
+ *
17
+ * This program is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU General Public License
23
+ * along with this program; if not, write to the Free Software
24
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
25
+ * USA
26
+ */
27
+
28
+ // Disable any deprecation warnings for Xapian methods/functions/classes.
29
+ #define XAPIAN_DEPRECATED(D) D
30
+ #include <xapian.h>
31
+ #include <string>
32
+ #include <vector>
33
+
34
+ using namespace std;
35
+
36
+ // If a backend has been disabled in xapian-core (manually or automatically) we
37
+ // include a stub definition here so the bindings can still be built.
38
+ namespace Xapian {
39
+ #ifndef XAPIAN_HAS_QUARTZ_BACKEND
40
+ namespace Quartz {
41
+ static Database open(const string &) {
42
+ throw FeatureUnavailableError("Quartz backend not supported");
43
+ }
44
+ static WritableDatabase open(const string &, int, int = 8192) {
45
+ throw FeatureUnavailableError("Quartz backend not supported");
46
+ }
47
+ }
48
+ #endif
49
+
50
+ #ifndef XAPIAN_HAS_FLINT_BACKEND
51
+ namespace Flint {
52
+ static Database open(const string &) {
53
+ throw FeatureUnavailableError("Flint backend not supported");
54
+ }
55
+ static WritableDatabase open(const string &, int, int = 8192) {
56
+ throw FeatureUnavailableError("Flint backend not supported");
57
+ }
58
+ }
59
+ #endif
60
+
61
+ #ifndef XAPIAN_HAS_INMEMORY_BACKEND
62
+ namespace InMemory {
63
+ static WritableDatabase open() {
64
+ throw FeatureUnavailableError("InMemory backend not supported");
65
+ }
66
+ }
67
+ #endif
68
+
69
+ #ifndef XAPIAN_HAS_REMOTE_BACKEND
70
+ namespace Remote {
71
+ static Database open(const string &, unsigned int, timeout = 0, timeout = 0) {
72
+ throw FeatureUnavailableError("Remote backend not supported");
73
+ }
74
+
75
+ static WritableDatabase open_writable(const string &, unsigned int, timeout = 0, timeout = 0) {
76
+ throw FeatureUnavailableError("Remote backend not supported");
77
+ }
78
+
79
+ static Database open(const string &, const string &, timeout = 0) {
80
+ throw FeatureUnavailableError("Remote backend not supported");
81
+ }
82
+
83
+ static WritableDatabase open_writable(const string &, const string &, timeout = 0) {
84
+ throw FeatureUnavailableError("Remote backend not supported");
85
+ }
86
+ }
87
+ #endif
88
+ }
89
+ %}
90
+
91
+ using namespace std;
92
+
93
+ %include stl.i
94
+
95
+ %template() std::pair<Xapian::TermIterator, Xapian::TermIterator>;
96
+
97
+ %include typemaps.i
98
+ %include exception.i
99
+
100
+ // Parse the visibility and deprecation support header files, so we don't get
101
+ // errors when we %include other Xapian headers.
102
+ %include <xapian/visibility.h>
103
+ %include <xapian/deprecated.h>
104
+
105
+ // This includes a language specific util.i, thanks to judicious setting of
106
+ // the include path.
107
+ %include "util.i"
108
+
109
+ // This includes language specific exception handling if available, or language
110
+ // independent exception handling otherwise, thanks to judicious setting of the
111
+ // include path.
112
+ %include "except.i"
113
+
114
+ // In C#, we wrap ++ and -- as ++ and --.
115
+ #ifdef SWIGCSHARP
116
+ #define NEXT(RET, CLASS) CLASS & next() { return ++(*self); }
117
+ #define PREV(RET, CLASS) CLASS & prev() { return --(*self); }
118
+ #elif defined SWIGJAVA
119
+ #define NEXT(RET, CLASS) RET next() { return *(++(*self)); }
120
+ #define PREV(RET, CLASS) RET prev() { return *(--(*self)); }
121
+ #else
122
+ #define NEXT(RET, CLASS) void next() { ++(*self); }
123
+ #define PREV(RET, CLASS) void prev() { --(*self); }
124
+ #endif
125
+
126
+ #ifndef SWIGPYTHON
127
+ #ifdef SWIGCSHARP
128
+ %rename(Apply) operator();
129
+ #else
130
+ %rename(apply) operator();
131
+ #endif
132
+ #endif
133
+
134
+ %include <xapian/types.h>
135
+
136
+ namespace Xapian {
137
+
138
+ // from xapian/version.h
139
+
140
+ %exception version_string "$action"
141
+ %exception major_version "$action"
142
+ %exception minor_version "$action"
143
+ %exception revision "$action"
144
+ const char * version_string();
145
+ int major_version();
146
+ int minor_version();
147
+ int revision();
148
+
149
+ // Aliases deprecated in 0.9.6:
150
+ %exception xapian_version_string "$action"
151
+ %exception xapian_major_version "$action"
152
+ %exception xapian_minor_version "$action"
153
+ %exception xapian_revision "$action"
154
+ const char * xapian_version_string();
155
+ int xapian_major_version();
156
+ int xapian_minor_version();
157
+ int xapian_revision();
158
+
159
+ class Weight;
160
+ class Stopper;
161
+
162
+ // from xapian/positioniterator.h
163
+
164
+ class PositionIterator {
165
+ public:
166
+ PositionIterator();
167
+ PositionIterator(const PositionIterator &other);
168
+ ~PositionIterator();
169
+ %extend {
170
+ Xapian::termpos get_termpos() const {
171
+ return *(*self);
172
+ }
173
+ NEXT(Xapian::termpos, PositionIterator)
174
+ bool equals(const PositionIterator &other) const {
175
+ return (*self) == other;
176
+ }
177
+ }
178
+ void skip_to(Xapian::termpos pos);
179
+ std::string get_description() const;
180
+ };
181
+
182
+ }
183
+
184
+ %ignore Xapian::DocIDWrapper;
185
+ %ignore Xapian::PostingIterator::operator++;
186
+ %ignore Xapian::PostingIterator::operator*;
187
+ %ignore Xapian::PostingIterator::internal;
188
+ %ignore Xapian::PostingIterator::operator=;
189
+ %ignore operator==(const PostingIterator &, const PostingIterator &);
190
+ %ignore operator!=(const PostingIterator &, const PostingIterator &);
191
+ %ignore difference_type;
192
+ %ignore iterator_category;
193
+ %ignore value_type;
194
+ %extend Xapian::PostingIterator {
195
+ Xapian::docid get_docid() const {
196
+ return *(*self);
197
+ }
198
+ NEXT(Xapian::docid, PostingIterator)
199
+ bool equals(const PostingIterator &other) const {
200
+ return (*self) == other;
201
+ }
202
+ }
203
+ %include <xapian/postingiterator.h>
204
+
205
+ namespace Xapian {
206
+
207
+ // from xapian/termiterator.h
208
+
209
+ class TermIterator {
210
+ public:
211
+ TermIterator();
212
+ TermIterator(const TermIterator &other);
213
+ ~TermIterator();
214
+ %extend {
215
+ string get_term() const {
216
+ return *(*self);
217
+ }
218
+ NEXT(string, TermIterator)
219
+ bool equals(const TermIterator& other) const {
220
+ return (*self) == other;
221
+ }
222
+ }
223
+
224
+ // extra method, not required for an input_iterator
225
+ void skip_to(const std::string & tname);
226
+
227
+ Xapian::termcount get_wdf() const;
228
+ Xapian::doccount get_termfreq() const;
229
+
230
+ // allow iteration of positionlist for current document
231
+ PositionIterator positionlist_begin();
232
+ PositionIterator positionlist_end();
233
+
234
+ std::string get_description() const;
235
+ };
236
+
237
+ // from xapian/valueiterator.h
238
+
239
+ class ValueIterator {
240
+ public:
241
+ ValueIterator();
242
+ ValueIterator(const ValueIterator& other);
243
+ ~ValueIterator();
244
+ %extend {
245
+ string get_value() const {
246
+ return *(*self);
247
+ }
248
+ NEXT(string, ValueIterator)
249
+ bool equals(const ValueIterator &other) const {
250
+ return (*self) == other;
251
+ }
252
+ }
253
+
254
+ Xapian::valueno get_valueno();
255
+ std::string get_description() const;
256
+ };
257
+
258
+ }
259
+
260
+ %ignore Xapian::Document::internal;
261
+ %ignore Xapian::Document::Document(Internal *);
262
+ %ignore Xapian::Document::operator=;
263
+ %include <xapian/document.h>
264
+
265
+ namespace Xapian {
266
+
267
+ // from xapian/enquire.h:
268
+
269
+ class MSetIterator;
270
+
271
+ class MSet {
272
+ public:
273
+ MSet();
274
+ MSet(const MSet& other);
275
+ ~MSet();
276
+
277
+ void fetch(MSetIterator& begin, MSetIterator& end) const;
278
+ void fetch(MSetIterator& item) const;
279
+ void fetch() const;
280
+
281
+ percent convert_to_percent(weight wt) const;
282
+ percent convert_to_percent(const MSetIterator & item) const;
283
+
284
+ doccount get_termfreq(std::string tname) const;
285
+ weight get_termweight(std::string tname) const;
286
+ doccount get_firstitem() const;
287
+ doccount get_matches_lower_bound() const;
288
+ doccount get_matches_estimated() const;
289
+ doccount get_matches_upper_bound() const;
290
+ weight get_max_possible();
291
+ weight get_max_attained();
292
+ doccount size() const;
293
+ bool empty() const;
294
+ MSetIterator begin() const;
295
+ MSetIterator end() const;
296
+ MSetIterator back() const;
297
+ %extend {
298
+ MSetIterator get_hit(doccount i) const {
299
+ return ((*self)[i]);
300
+ }
301
+ int get_document_percentage(doccount i) const {
302
+ return (*self).convert_to_percent( ((*self)[i]) );
303
+ }
304
+ const Document get_document(doccount i) const {
305
+ return ((*self)[i]).get_document();
306
+ }
307
+ docid get_docid(doccount i) const {
308
+ return *((*self)[i]);
309
+ }
310
+ #ifdef SWIGJAVA
311
+ // For compatibility with the original JNI wrappers.
312
+ MSetIterator getElement(doccount i) const {
313
+ return ((*self)[i]);
314
+ }
315
+ #endif
316
+ #ifndef SWIGRUBY
317
+ // We don't wrap methods which were already deprecated when the Ruby
318
+ // bindings were added. This method is deprecated for all other
319
+ // bindings from version 0.9.6 - use get_docid() instead.
320
+ docid get_document_id(doccount i) const {
321
+ return *((*self)[i]);
322
+ }
323
+ #endif
324
+ }
325
+ string get_description() const;
326
+ };
327
+
328
+ class MSetIterator {
329
+ public:
330
+ MSetIterator();
331
+ MSetIterator(const MSetIterator& other);
332
+ ~MSetIterator();
333
+ %extend {
334
+ docid get_docid() const {
335
+ return *(*self);
336
+ }
337
+ NEXT(docid, MSetIterator)
338
+ PREV(docid, MSetIterator)
339
+ bool equals(const MSetIterator &other) const {
340
+ return (*self) == other;
341
+ }
342
+ }
343
+ Document get_document() const;
344
+ doccount get_rank() const;
345
+ weight get_weight() const;
346
+ string get_collapse_key() const;
347
+ doccount get_collapse_count() const;
348
+ percent get_percent() const;
349
+ string get_description() const;
350
+ };
351
+
352
+ class ESetIterator;
353
+
354
+ class ESet {
355
+ public:
356
+ ESet();
357
+ ESet(const ESet& other);
358
+ ~ESet();
359
+ termcount get_ebound() const;
360
+ termcount size() const;
361
+ bool empty() const;
362
+ ESetIterator begin() const;
363
+ ESetIterator end() const;
364
+ ESetIterator back() const;
365
+ string get_description() const;
366
+ };
367
+
368
+ class ESetIterator {
369
+ public:
370
+ ESetIterator();
371
+ ESetIterator(const ESetIterator& other);
372
+ ~ESetIterator();
373
+ %extend {
374
+ // Get termname is deprecated since version 1.0 - we use "term"
375
+ // everywhere else to refer to terms.
376
+ std::string get_termname() const {
377
+ return *(*self);
378
+ }
379
+ std::string get_term() const {
380
+ return *(*self);
381
+ }
382
+ NEXT(std::string, ESetIterator)
383
+ PREV(std::string, ESetIterator)
384
+ bool equals(const ESetIterator &other) const {
385
+ return (*self) == other;
386
+ }
387
+ }
388
+ weight get_weight() const;
389
+ string get_description() const;
390
+ };
391
+
392
+ class RSet {
393
+ public:
394
+ RSet(const RSet& other);
395
+ RSet();
396
+ ~RSet();
397
+ doccount size() const;
398
+ bool empty() const;
399
+ void add_document(docid did);
400
+ void add_document(MSetIterator& i);
401
+ void remove_document(docid did);
402
+ void remove_document(MSetIterator& i);
403
+ bool contains(docid did);
404
+ bool contains(MSetIterator& i);
405
+ string get_description() const;
406
+ };
407
+
408
+ %feature("director") MatchDecider;
409
+ class MatchDecider {
410
+ public:
411
+ virtual bool operator() (const Xapian::Document &doc) const = 0;
412
+ virtual ~MatchDecider() { }
413
+ };
414
+
415
+ /* MatchDecider and ExpandDecider are abstract classes, each only useful if it
416
+ * can be subclassed. There are some C++ subclasses of MatchDecider in core
417
+ * xapian, but none for ExpandDecider: therefore ExpandDecider requires that
418
+ * directors be supported. So we only wrap ExpandDecider for languages which
419
+ * support directors. */
420
+
421
+ #ifdef XAPIAN_SWIG_DIRECTORS
422
+ %feature("director") ExpandDecider;
423
+ class ExpandDecider {
424
+ public:
425
+ virtual bool operator() (const string &term) const = 0;
426
+ virtual ~ExpandDecider() { }
427
+ };
428
+ #endif
429
+
430
+ class Database;
431
+ class Query;
432
+ class Sorter;
433
+
434
+ class Enquire {
435
+ public:
436
+ Enquire(const Database &databases);
437
+ ~Enquire();
438
+
439
+ void set_query(const Query & query, termcount qlen = 0);
440
+ const Query& get_query();
441
+
442
+ void set_weighting_scheme(const Weight& weight);
443
+ void set_collapse_key(valueno collapse_key);
444
+
445
+ typedef enum {
446
+ ASCENDING = 1,
447
+ DESCENDING = 0,
448
+ DONT_CARE = 2
449
+ } docid_order;
450
+
451
+ void set_docid_order(docid_order order);
452
+
453
+ void set_cutoff(int percent_cutoff, weight weight_cutoff = 0);
454
+
455
+ void set_sort_by_relevance();
456
+ void set_sort_by_value(Xapian::valueno sort_key, bool ascending = true);
457
+ void set_sort_by_value_then_relevance(Xapian::valueno sort_key,
458
+ bool ascending = true);
459
+ void set_sort_by_relevance_then_value(Xapian::valueno sort_key,
460
+ bool ascending = true);
461
+ void set_sort_by_key(Xapian::Sorter * sorter, bool ascending = true);
462
+ void set_sort_by_key_then_relevance(Xapian::Sorter * sorter,
463
+ bool ascending = true);
464
+ void set_sort_by_relevance_then_key(Xapian::Sorter * sorter,
465
+ bool ascending = true);
466
+
467
+ static const int INCLUDE_QUERY_TERMS = 1;
468
+ static const int USE_EXACT_TERMFREQ = 2;
469
+
470
+ #ifdef XAPIAN_SWIG_DIRECTORS
471
+ MSet get_mset(doccount first,
472
+ doccount maxitems,
473
+ doccount checkatleast = 0,
474
+ const RSet *omrset = 0,
475
+ const MatchDecider *mdecider = 0) const;
476
+ MSet get_mset(Xapian::doccount first, Xapian::doccount maxitems,
477
+ Xapian::doccount checkatleast,
478
+ const RSet * omrset,
479
+ const MatchDecider * mdecider,
480
+ const MatchDecider * matchspy) const;
481
+ MSet get_mset(doccount first,
482
+ doccount maxitems,
483
+ const RSet *omrset,
484
+ const MatchDecider *mdecider = 0) const;
485
+
486
+ ESet get_eset(termcount maxitems,
487
+ const RSet &omrset,
488
+ int flags = 0, double k = 1.0,
489
+ const ExpandDecider *edecider = 0) const;
490
+ ESet get_eset(termcount maxitems, const RSet & omrset, const Xapian::ExpandDecider * edecider) const;
491
+ #else
492
+ MSet get_mset(doccount first,
493
+ doccount maxitems,
494
+ doccount checkatleast = 0,
495
+ const RSet *omrset = 0) const;
496
+ MSet get_mset(doccount first,
497
+ doccount maxitems,
498
+ const RSet *omrset) const;
499
+
500
+ ESet get_eset(termcount maxitems,
501
+ const RSet &omrset,
502
+ int flags = 0, double k = 1.0) const;
503
+ #endif
504
+
505
+ TermIterator get_matching_terms_begin(docid did) const;
506
+ TermIterator get_matching_terms_end(docid did) const;
507
+ TermIterator get_matching_terms_begin(const MSetIterator& i) const;
508
+ TermIterator get_matching_terms_end(const MSetIterator& i) const;
509
+
510
+ #ifdef XAPIAN_SWIG_DIRECTORS
511
+ void register_match_decider(const std::string& name, const MatchDecider* mdecider=NULL);
512
+ #endif
513
+
514
+ #ifdef XAPIAN_TERMITERATOR_PAIR_OUTPUT_TYPEMAP
515
+ /* We've not written the required custom typemap for all languages yet. */
516
+ %extend {
517
+ std::pair<Xapian::TermIterator, Xapian::TermIterator>
518
+ get_matching_terms(const MSetIterator &hit) const {
519
+ return make_pair(self->get_matching_terms_begin(hit),
520
+ self->get_matching_terms_end(hit));
521
+ }
522
+ }
523
+ #endif
524
+
525
+ string get_description() const;
526
+ };
527
+
528
+ /* Generated code won't compile if directors are enabled. Disable for now
529
+ * while we investigate.
530
+ *
531
+ * The problem comes from having a private pure virtual clone() function in
532
+ * the Weight class. Directors work by multiple inheritance from both
533
+ * SWIG_Director and the class they're directing; constructors in the target
534
+ * language are then redirected to the director class. However the director
535
+ * mechanism doesn't generate a wrapper for the clone() function (presumably
536
+ * because it's private). This is wrong, because the director is then
537
+ * abstract, which the SWIG generated code can't cope with.
538
+ *
539
+ * Also having a factory method might be a problem?
540
+ */
541
+ /*
542
+ #ifdef SWIGPYTHON
543
+ %feature("director") Weight;
544
+ #endif
545
+ */
546
+
547
+ class Weight {
548
+ /* SWIG doesn't handle this:
549
+ private:
550
+ virtual Weight * clone() const = 0; */
551
+ public:
552
+ virtual ~Weight();
553
+
554
+ virtual std::string name() const = 0;
555
+ virtual std::string serialise() const = 0;
556
+ virtual Weight * unserialise(const std::string &s) const = 0;
557
+
558
+ virtual Xapian::weight get_sumpart(Xapian::termcount wdf,
559
+ Xapian::doclength len) const = 0;
560
+ virtual Xapian::weight get_maxpart() const = 0;
561
+ virtual Xapian::weight get_sumextra(Xapian::doclength len) const = 0;
562
+ virtual Xapian::weight get_maxextra() const = 0;
563
+ virtual bool get_sumpart_needs_doclength() const;
564
+ };
565
+
566
+ %warnfilter(842) BoolWeight::unserialise;
567
+ class BoolWeight : public Weight {
568
+ public:
569
+ BoolWeight * clone() const;
570
+ BoolWeight();
571
+ ~BoolWeight();
572
+ std::string name() const;
573
+ std::string serialise() const;
574
+ BoolWeight * unserialise(const std::string & s) const;
575
+ Xapian::weight get_sumpart(Xapian::termcount wdf, Xapian::doclength len) const;
576
+ Xapian::weight get_maxpart() const;
577
+
578
+ Xapian::weight get_sumextra(Xapian::doclength len) const;
579
+ Xapian::weight get_maxextra() const;
580
+
581
+ bool get_sumpart_needs_doclength() const;
582
+ };
583
+
584
+ %warnfilter(842) BM25Weight::unserialise;
585
+ class BM25Weight : public Weight {
586
+ public:
587
+ BM25Weight(double k1_, double k2_, double k3_, double b_,
588
+ double min_normlen_);
589
+ BM25Weight();
590
+
591
+ BM25Weight * clone() const;
592
+ ~BM25Weight();
593
+ std::string name() const;
594
+ std::string serialise() const;
595
+ BM25Weight * unserialise(const std::string & s) const;
596
+ Xapian::weight get_sumpart(Xapian::termcount wdf, Xapian::doclength len) const;
597
+ Xapian::weight get_maxpart() const;
598
+
599
+ Xapian::weight get_sumextra(Xapian::doclength len) const;
600
+ Xapian::weight get_maxextra() const;
601
+
602
+ bool get_sumpart_needs_doclength() const;
603
+ };
604
+
605
+ %warnfilter(842) TradWeight::unserialise;
606
+ class TradWeight : public Weight {
607
+ public:
608
+ explicit TradWeight(double k);
609
+ TradWeight();
610
+
611
+ TradWeight * clone() const;
612
+ ~TradWeight();
613
+ std::string name() const;
614
+ std::string serialise() const;
615
+ TradWeight * unserialise(const std::string & s) const;
616
+
617
+ Xapian::weight get_sumpart(Xapian::termcount wdf, Xapian::doclength len) const;
618
+ Xapian::weight get_maxpart() const;
619
+
620
+ Xapian::weight get_sumextra(Xapian::doclength len) const;
621
+ Xapian::weight get_maxextra() const;
622
+
623
+ bool get_sumpart_needs_doclength() const;
624
+ };
625
+
626
+ }
627
+
628
+ namespace Xapian {
629
+
630
+ // xapian/database.h
631
+
632
+ class Database {
633
+ public:
634
+ void add_database(const Database & database);
635
+ Database();
636
+ Database(const string &path);
637
+ virtual ~Database();
638
+ Database(const Database & other);
639
+ void reopen();
640
+
641
+ string get_description() const;
642
+ PostingIterator postlist_begin(const std::string& tname) const;
643
+ PostingIterator postlist_end(const std::string& tname) const;
644
+ TermIterator termlist_begin(docid did) const;
645
+ TermIterator termlist_end(docid did) const;
646
+ PositionIterator positionlist_begin(docid did, const std::string& tname) const;
647
+ PositionIterator positionlist_end(docid did, const std::string& tname) const;
648
+ TermIterator allterms_begin() const;
649
+ TermIterator allterms_end() const;
650
+ TermIterator allterms_begin(const std::string &prefix) const;
651
+ TermIterator allterms_end(const std::string &prefix) const;
652
+
653
+ doccount get_doccount() const;
654
+ docid get_lastdocid() const;
655
+ doclength get_avlength() const;
656
+ doccount get_termfreq(const std::string &tname) const;
657
+ bool term_exists(const std::string &tname) const;
658
+ termcount get_collection_freq(const std::string &tname) const;
659
+ doclength get_doclength(docid docid) const;
660
+ void keep_alive();
661
+ Document get_document(docid did);
662
+ std::string get_spelling_suggestion(const std::string &word,
663
+ unsigned max_edit_distance = 2) const;
664
+ TermIterator spellings_begin() const;
665
+ TermIterator spellings_end() const;
666
+ TermIterator synonyms_begin(const std::string &term) const;
667
+ TermIterator synonyms_end(const std::string &) const;
668
+ TermIterator synonym_keys_begin(const std::string &prefix = "") const;
669
+ TermIterator synonym_keys_end(const std::string &prefix = "") const;
670
+ std::string get_metadata(const std::string & key) const;
671
+ Xapian::TermIterator metadata_keys_begin(const std::string &prefix = "") const;
672
+ Xapian::TermIterator metadata_keys_end(const std::string &prefix = "") const;
673
+
674
+ };
675
+
676
+ class WritableDatabase : public Database {
677
+ public:
678
+ virtual ~WritableDatabase();
679
+ WritableDatabase();
680
+ WritableDatabase(const string &path, int action);
681
+ WritableDatabase(const WritableDatabase & other);
682
+
683
+ void flush();
684
+
685
+ void begin_transaction(bool flushed = true);
686
+ void commit_transaction();
687
+ void cancel_transaction();
688
+
689
+ docid add_document(const Document & document);
690
+ void delete_document(docid did);
691
+ void replace_document(docid did, const Document & document);
692
+ void delete_document(const std::string & unique_term);
693
+ Xapian::docid replace_document(const std::string & unique_term,
694
+ const Xapian::Document & document);
695
+
696
+ void add_spelling(const std::string & word,
697
+ Xapian::termcount freqinc = 1) const;
698
+ void remove_spelling(const std::string & word,
699
+ Xapian::termcount freqdec = 1) const;
700
+
701
+ void add_synonym(const std::string & term,
702
+ const std::string & synonym) const;
703
+ void remove_synonym(const std::string & term,
704
+ const std::string & synonym) const;
705
+ void clear_synonyms(const std::string & term) const;
706
+ void set_metadata(const std::string & key, const std::string & value);
707
+
708
+ string get_description() const;
709
+ };
710
+
711
+ %constant int DB_CREATE_OR_OPEN = Xapian::DB_CREATE_OR_OPEN;
712
+ %constant int DB_CREATE = Xapian::DB_CREATE;
713
+ %constant int DB_CREATE_OR_OVERWRITE = Xapian::DB_CREATE_OR_OVERWRITE;
714
+ %constant int DB_OPEN = Xapian::DB_OPEN;
715
+ #ifdef SWIGPHP4
716
+ %constant int Xapian_DB_CREATE_OR_OPEN = Xapian::DB_CREATE_OR_OPEN;
717
+ %constant int Xapian_DB_CREATE = Xapian::DB_CREATE;
718
+ %constant int Xapian_DB_CREATE_OR_OVERWRITE = Xapian::DB_CREATE_OR_OVERWRITE;
719
+ %constant int Xapian_DB_OPEN = Xapian::DB_OPEN;
720
+ #endif
721
+
722
+ // Database factory functions:
723
+
724
+ #if !defined SWIGCSHARP && !defined SWIGJAVA
725
+ namespace Auto {
726
+ #ifdef SWIGPHP
727
+ /* PHP4 lacks namespaces so fake them. */
728
+ %rename(auto_open_stub) open_stub;
729
+ #endif
730
+ Database open_stub(const string & file);
731
+ }
732
+
733
+ namespace Quartz {
734
+ %rename(quartz_open) open;
735
+ Database open(const std::string &dir);
736
+ /* SWIG Tcl wrappers don't call destructors for classes returned by factory
737
+ * functions, so don't wrap them so users are forced to use the
738
+ * WritableDatabase ctor instead. */
739
+ #ifndef SWIGTCL
740
+ WritableDatabase open(const std::string &dir, int action, int block_size = 8192);
741
+ #endif
742
+ }
743
+
744
+ namespace Flint {
745
+ %rename(flint_open) open;
746
+ Database open(const std::string &dir);
747
+ /* SWIG Tcl wrappers don't call destructors for classes returned by factory
748
+ * functions, so don't wrap them so users are forced to use the
749
+ * WritableDatabase ctor instead. */
750
+ #ifndef SWIGTCL
751
+ WritableDatabase open(const std::string &dir, int action, int block_size = 8192);
752
+ #endif
753
+ }
754
+
755
+ namespace InMemory {
756
+ %rename(inmemory_open) open;
757
+ WritableDatabase open();
758
+ }
759
+
760
+ namespace Remote {
761
+ %rename(remote_open) open;
762
+ %rename(remote_open_writable) open_writable;
763
+
764
+ Database open(const std::string &host, unsigned int port, Xapian::timeout timeout, Xapian::timeout connect_timeout);
765
+ Database open(const std::string &host, unsigned int port, Xapian::timeout timeout = 10000);
766
+
767
+ WritableDatabase open_writable(const std::string &host, unsigned int port, Xapian::timeout timeout, Xapian::timeout connect_timeout);
768
+ WritableDatabase open_writable(const std::string &host, unsigned int port, Xapian::timeout timeout = 10000);
769
+
770
+ Database open(const std::string &program, const std::string &args, Xapian::timeout timeout = 10000);
771
+
772
+ WritableDatabase open_writable(const std::string &program, const std::string &args, Xapian::timeout timeout = 10000);
773
+ }
774
+ #else
775
+ /* Lie to SWIG that Auto, etc are classes with static methods rather than
776
+ namespaces so it wraps it as we want in C# and Java. */
777
+ class Auto {
778
+ private:
779
+ Auto();
780
+ ~Auto();
781
+ public:
782
+ static
783
+ Database open_stub(const string & file);
784
+ };
785
+
786
+ class Quartz {
787
+ private:
788
+ Quartz();
789
+ ~Quartz();
790
+ public:
791
+ static
792
+ Database open(const std::string &dir);
793
+ static
794
+ WritableDatabase open(const std::string &dir, int action, int block_size = 8192);
795
+ };
796
+
797
+ class Flint {
798
+ private:
799
+ Flint();
800
+ ~Flint();
801
+ public:
802
+ static
803
+ Database open(const std::string &dir);
804
+ static
805
+ WritableDatabase open(const std::string &dir, int action, int block_size = 8192);
806
+ };
807
+
808
+ class InMemory {
809
+ private:
810
+ InMemory();
811
+ ~InMemory();
812
+ public:
813
+ static
814
+ WritableDatabase open();
815
+ };
816
+
817
+ class Remote {
818
+ private:
819
+ Remote();
820
+ ~Remote();
821
+ public:
822
+ static
823
+ Database open(const std::string &host, unsigned int port, Xapian::timeout timeout, Xapian::timeout connect_timeout);
824
+ static
825
+ Database open(const std::string &host, unsigned int port, Xapian::timeout timeout = 10000);
826
+
827
+ static
828
+ WritableDatabase open_writable(const std::string &host, unsigned int port, Xapian::timeout timeout, Xapian::timeout connect_timeout);
829
+ static
830
+ WritableDatabase open_writable(const std::string &host, unsigned int port, Xapian::timeout timeout = 10000);
831
+
832
+ static
833
+ Database open(const std::string &program, const std::string &args, Xapian::timeout timeout = 10000);
834
+
835
+ static
836
+ WritableDatabase open_writable(const std::string &program, const std::string &args, Xapian::timeout timeout = 10000);
837
+ };
838
+ #endif
839
+
840
+ // xapian/query.h:
841
+
842
+ class Query {
843
+ public:
844
+ enum op {
845
+ OP_AND,
846
+ OP_OR,
847
+ OP_AND_NOT,
848
+ OP_XOR,
849
+ OP_AND_MAYBE,
850
+ OP_FILTER,
851
+ OP_NEAR,
852
+ OP_PHRASE,
853
+ OP_VALUE_RANGE,
854
+ OP_SCALE_WEIGHT,
855
+ OP_ELITE_SET = 10,
856
+ OP_VALUE_GE,
857
+ OP_VALUE_LE
858
+ };
859
+ Query(const string &tname, termcount wqf = 1, termpos term_pos = 0);
860
+ Query(Query::op op_, const Query & left, const Query & right);
861
+ Query(Query::op op_, const string & left, const string & right);
862
+ Query(const Query& copyme);
863
+ Query(Query::op op_, Xapian::valueno valno, const std::string &begin, const std::string &end);
864
+ Query(Query::op op_, Xapian::valueno valno, const std::string &value);
865
+ %extend {
866
+ #ifndef XAPIAN_MIXED_VECTOR_QUERY_INPUT_TYPEMAP
867
+ /* For some languages we handle strings in the vector<Query>
868
+ * case, so we don't need to wrap this ctor. */
869
+
870
+ /** Constructs a query from a vector of terms merged with the
871
+ * specified operator. */
872
+ Query(Query::op op, const vector<string> & subqs, termcount param = 0) {
873
+ return new Xapian::Query(op, subqs.begin(), subqs.end(), param);
874
+ }
875
+ #endif
876
+
877
+ /** Constructs a query from a vector of subqueries merged with the
878
+ * specified operator. */
879
+ Query(Query::op op, const vector<Xapian::Query> & subqs, termcount param = 0) {
880
+ return new Xapian::Query(op, subqs.begin(), subqs.end(), param);
881
+ }
882
+ }
883
+ /** Apply the specified operator to a single Xapian::Query object. */
884
+ Query(Query::op op_, Xapian::Query q);
885
+
886
+ /** Apply the specified operator to a single Xapian::Query object, with a parameter. */
887
+ Query(Query::op op_, Xapian::Query q, double parameter);
888
+
889
+ /** Constructs a new empty query object */
890
+ Query();
891
+
892
+ ~Query();
893
+
894
+ termcount get_length() const;
895
+ TermIterator get_terms_begin() const;
896
+ TermIterator get_terms_end() const;
897
+ bool empty() const;
898
+
899
+ string get_description() const;
900
+ };
901
+
902
+ }
903
+
904
+ %feature("director") Xapian::Stopper;
905
+ %feature("director") Xapian::ValueRangeProcessor;
906
+ %ignore Xapian::QueryParser::internal;
907
+ %ignore Xapian::QueryParser::operator=;
908
+ %ignore Xapian::QueryParser::QueryParser(const QueryParser &);
909
+ %include <xapian/queryparser.h>
910
+
911
+ %ignore Xapian::Stem::internal;
912
+ %ignore Xapian::Stem::operator=;
913
+ %ignore Xapian::Stem::Stem();
914
+ %ignore Xapian::Stem::Stem(const Stem &);
915
+ %include <xapian/stem.h>
916
+
917
+ %ignore Xapian::TermGenerator::internal;
918
+ %ignore Xapian::TermGenerator::operator=;
919
+ %ignore Xapian::TermGenerator::index_text(const Xapian::Utf8Iterator &);
920
+ %ignore Xapian::TermGenerator::index_text(const Xapian::Utf8Iterator &, Xapian::termcount);
921
+ %ignore Xapian::TermGenerator::index_text(const Xapian::Utf8Iterator &, Xapian::termcount, const std::string &);
922
+ %ignore Xapian::TermGenerator::index_text_without_positions(const Xapian::Utf8Iterator &);
923
+ %ignore Xapian::TermGenerator::index_text_without_positions(const Xapian::Utf8Iterator &, Xapian::termcount);
924
+ %ignore Xapian::TermGenerator::index_text_without_positions(const Xapian::Utf8Iterator &, Xapian::termcount, const std::string &);
925
+ %ignore Xapian::TermGenerator::TermGenerator(const TermGenerator &);
926
+ %include <xapian/termgenerator.h>
927
+
928
+ %feature("director") Xapian::Sorter;
929
+ %include <xapian/sorter.h>
930
+
931
+ namespace Xapian {
932
+
933
+ #if defined SWIGPYTHON
934
+ %include extra.i
935
+ #endif
936
+
937
+ }
938
+
939
+ /* vim:set syntax=cpp:set noexpandtab: */