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,30 @@
1
+ /* ----------------------------------------------------------------------------
2
+ * This file was automatically generated by SWIG (http://www.swig.org).
3
+ * Version 1.3.32
4
+ *
5
+ * Do not make changes to this file unless you know what you are doing--modify
6
+ * the SWIG interface file instead.
7
+ * ----------------------------------------------------------------------------- */
8
+
9
+ namespace Xapian {
10
+
11
+ using System;
12
+ using System.Runtime.InteropServices;
13
+
14
+ public class SWIGTYPE_p_std__string {
15
+ private HandleRef swigCPtr;
16
+
17
+ internal SWIGTYPE_p_std__string(IntPtr cPtr, bool futureUse) {
18
+ swigCPtr = new HandleRef(this, cPtr);
19
+ }
20
+
21
+ protected SWIGTYPE_p_std__string() {
22
+ swigCPtr = new HandleRef(null, IntPtr.Zero);
23
+ }
24
+
25
+ internal static HandleRef getCPtr(SWIGTYPE_p_std__string obj) {
26
+ return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
27
+ }
28
+ }
29
+
30
+ }
@@ -0,0 +1,30 @@
1
+ /* ----------------------------------------------------------------------------
2
+ * This file was automatically generated by SWIG (http://www.swig.org).
3
+ * Version 1.3.32
4
+ *
5
+ * Do not make changes to this file unless you know what you are doing--modify
6
+ * the SWIG interface file instead.
7
+ * ----------------------------------------------------------------------------- */
8
+
9
+ namespace Xapian {
10
+
11
+ using System;
12
+ using System.Runtime.InteropServices;
13
+
14
+ public class SWIGTYPE_p_std__vectorTXapian__Query_t {
15
+ private HandleRef swigCPtr;
16
+
17
+ internal SWIGTYPE_p_std__vectorTXapian__Query_t(IntPtr cPtr, bool futureUse) {
18
+ swigCPtr = new HandleRef(this, cPtr);
19
+ }
20
+
21
+ protected SWIGTYPE_p_std__vectorTXapian__Query_t() {
22
+ swigCPtr = new HandleRef(null, IntPtr.Zero);
23
+ }
24
+
25
+ internal static HandleRef getCPtr(SWIGTYPE_p_std__vectorTXapian__Query_t obj) {
26
+ return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
27
+ }
28
+ }
29
+
30
+ }
@@ -0,0 +1,30 @@
1
+ /* ----------------------------------------------------------------------------
2
+ * This file was automatically generated by SWIG (http://www.swig.org).
3
+ * Version 1.3.32
4
+ *
5
+ * Do not make changes to this file unless you know what you are doing--modify
6
+ * the SWIG interface file instead.
7
+ * ----------------------------------------------------------------------------- */
8
+
9
+ namespace Xapian {
10
+
11
+ using System;
12
+ using System.Runtime.InteropServices;
13
+
14
+ public class SWIGTYPE_p_std__vectorTstd__string_t {
15
+ private HandleRef swigCPtr;
16
+
17
+ internal SWIGTYPE_p_std__vectorTstd__string_t(IntPtr cPtr, bool futureUse) {
18
+ swigCPtr = new HandleRef(this, cPtr);
19
+ }
20
+
21
+ protected SWIGTYPE_p_std__vectorTstd__string_t() {
22
+ swigCPtr = new HandleRef(null, IntPtr.Zero);
23
+ }
24
+
25
+ internal static HandleRef getCPtr(SWIGTYPE_p_std__vectorTstd__string_t obj) {
26
+ return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
27
+ }
28
+ }
29
+
30
+ }
@@ -0,0 +1,64 @@
1
+ /* ----------------------------------------------------------------------------
2
+ * This file was automatically generated by SWIG (http://www.swig.org).
3
+ * Version 1.3.32
4
+ *
5
+ * Do not make changes to this file unless you know what you are doing--modify
6
+ * the SWIG interface file instead.
7
+ * ----------------------------------------------------------------------------- */
8
+
9
+ namespace Xapian {
10
+
11
+ using System;
12
+ using System.Runtime.InteropServices;
13
+
14
+ public class SimpleStopper : Stopper {
15
+ private HandleRef swigCPtr;
16
+
17
+ internal SimpleStopper(IntPtr cPtr, bool cMemoryOwn) : base(XapianPINVOKE.SimpleStopperUpcast(cPtr), cMemoryOwn) {
18
+ swigCPtr = new HandleRef(this, cPtr);
19
+ }
20
+
21
+ internal static HandleRef getCPtr(SimpleStopper obj) {
22
+ return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
23
+ }
24
+
25
+ ~SimpleStopper() {
26
+ Dispose();
27
+ }
28
+
29
+ public override void Dispose() {
30
+ lock(this) {
31
+ if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
32
+ swigCMemOwn = false;
33
+ XapianPINVOKE.delete_SimpleStopper(swigCPtr);
34
+ }
35
+ swigCPtr = new HandleRef(null, IntPtr.Zero);
36
+ GC.SuppressFinalize(this);
37
+ base.Dispose();
38
+ }
39
+ }
40
+
41
+ public SimpleStopper() : this(XapianPINVOKE.new_SimpleStopper(), true) {
42
+ if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
43
+ }
44
+
45
+ public void Add(string word) {
46
+ XapianPINVOKE.SimpleStopper_Add(swigCPtr, word);
47
+ if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
48
+ }
49
+
50
+ public override bool Apply(string term) {
51
+ bool ret = XapianPINVOKE.SimpleStopper_Apply(swigCPtr, term);
52
+ if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
53
+ return ret;
54
+ }
55
+
56
+ public override string GetDescription() {
57
+ string ret = XapianPINVOKE.SimpleStopper_GetDescription(swigCPtr);
58
+ if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
59
+ return ret;
60
+ }
61
+
62
+ }
63
+
64
+ }
@@ -0,0 +1,178 @@
1
+ // Simple test that we can load the xapian module and run a simple test
2
+ //
3
+ // Copyright (C) 2004,2005,2006,2007 Olly Betts
4
+ //
5
+ // This program is free software; you can redistribute it and/or
6
+ // modify it under the terms of the GNU General Public License as
7
+ // published by the Free Software Foundation; either version 2 of the
8
+ // License, or (at your option) any later version.
9
+ //
10
+ // This program is distributed in the hope that it will be useful,
11
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ // GNU General Public License for more details.
14
+ //
15
+ // You should have received a copy of the GNU General Public License
16
+ // along with this program; if not, write to the Free Software
17
+ // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
18
+ // USA
19
+
20
+ // The Portable.NET compiler has a bug which prevents it finding static
21
+ // member functions such as Xapian.Version.Major():
22
+ //
23
+ // http://savannah.gnu.org/bugs/?func=detailitem&item_id=12231
24
+ //
25
+ // The bug is fixed in Portable.NET CVS HEAD - the fix should make it
26
+ // into Portable.NET 0.8.2.
27
+ //
28
+ // The workaround for now is to add an explicit "using Xapian;" here:
29
+ using Xapian;
30
+
31
+ class TestMatchDecider : Xapian.MatchDecider {
32
+ public override bool Apply(Xapian.Document doc) {
33
+ return (doc.GetValue(0) == "yes");
34
+ }
35
+ }
36
+
37
+ class SmokeTest {
38
+ public static void Main() {
39
+ try {
40
+ // Test the version number reporting functions give plausible
41
+ // results.
42
+ string v = "";
43
+ v += Xapian.Version.Major();
44
+ v += ".";
45
+ v += Xapian.Version.Minor();
46
+ v += ".";
47
+ v += Xapian.Version.Revision();
48
+ string v2 = Xapian.Version.String();
49
+ if (v != v2) {
50
+ System.Console.WriteLine("Unexpected version output (" + v + " != " + v2 + ")");
51
+ System.Environment.Exit(1);
52
+ }
53
+
54
+ Xapian.Stem stem = new Xapian.Stem("english");
55
+ Xapian.Document doc = new Xapian.Document();
56
+ // Currently SWIG doesn't generate zero-byte clean code for
57
+ // transferring strings between C# and C++.
58
+ /*
59
+ doc.SetData("a\0b");
60
+ if (doc.GetData() == "a") {
61
+ System.Console.WriteLine("GetData+SetData truncates at a zero byte");
62
+ System.Environment.Exit(1);
63
+ }
64
+ if (doc.GetData() != "a\0b") {
65
+ System.Console.WriteLine("GetData+SetData doesn't transparently handle a zero byte");
66
+ System.Environment.Exit(1);
67
+ }
68
+ */
69
+ doc.SetData("is there anybody out there?");
70
+ doc.AddTerm("XYzzy");
71
+ doc.AddPosting(stem.Apply("is"), 1);
72
+ doc.AddPosting(stem.Apply("there"), 2);
73
+ doc.AddPosting(stem.Apply("anybody"), 3);
74
+ doc.AddPosting(stem.Apply("out"), 4);
75
+ doc.AddPosting(stem.Apply("there"), 5);
76
+
77
+ Xapian.WritableDatabase db = Xapian.InMemory.Open();
78
+ db.AddDocument(doc);
79
+ if (db.GetDocCount() != 1) {
80
+ System.Environment.Exit(1);
81
+ }
82
+
83
+ if (doc.TermListCount() != 5) {
84
+ System.Environment.Exit(1);
85
+ }
86
+ int count = 0;
87
+ Xapian.TermIterator i = doc.TermListBegin();
88
+ while (i != doc.TermListEnd()) {
89
+ ++count;
90
+ ++i;
91
+ }
92
+ if (count != 5) {
93
+ System.Environment.Exit(1);
94
+ }
95
+
96
+ // Check exception handling for Xapian::DocNotFoundError.
97
+ try {
98
+ Xapian.Document doc2 = db.GetDocument(2);
99
+ System.Console.WriteLine("Retrieved non-existent document: " + doc2.ToString());
100
+ System.Environment.Exit(1);
101
+ } catch (System.Exception e) {
102
+ // We expect DocNotFoundError
103
+ if (e.Message.Substring(0, 16) != "DocNotFoundError") {
104
+ System.Console.WriteLine("Unexpected exception from accessing non-existent document: " + e.Message);
105
+ System.Environment.Exit(1);
106
+ }
107
+ }
108
+
109
+ // Check QueryParser parsing error.
110
+ try {
111
+ Xapian.QueryParser qp = new Xapian.QueryParser();
112
+ qp.ParseQuery("test AND");
113
+ System.Console.WriteLine("Successfully parsed bad query");
114
+ System.Environment.Exit(1);
115
+ } catch (System.Exception e) {
116
+ if (e.Message != "QueryParserError: Syntax: <expression> AND <expression>") {
117
+ System.Console.WriteLine("Exception string not as expected, got: '" + e.Message + "'");
118
+ System.Environment.Exit(1);
119
+ }
120
+ }
121
+
122
+ // Check that OP_ELITE_SET works (in 0.9.6 and earlier it had the
123
+ // wrong value in C#).
124
+ try {
125
+ Xapian.Query foo = new Xapian.Query(Xapian.Query.op.OP_OR, "hello", "world");
126
+ Xapian.Query foo2 = new Xapian.Query(Xapian.Query.op.OP_ELITE_SET, foo);
127
+ foo = foo2; // Avoid "unused variable" warning.
128
+ } catch (System.Exception e) {
129
+ System.Console.WriteLine("Using OP_ELITE_SET cause exception '" + e.Message + "'");
130
+ System.Environment.Exit(1);
131
+ }
132
+
133
+ // Feature test for MatchDecider.
134
+ doc = new Xapian.Document();
135
+ doc.SetData("Two");
136
+ doc.AddPosting(stem.Apply("out"), 1);
137
+ doc.AddPosting(stem.Apply("source"), 2);
138
+ doc.AddValue(0, "yes");
139
+ db.AddDocument(doc);
140
+
141
+ Xapian.Query query = new Xapian.Query(stem.Apply("out"));
142
+ Xapian.Enquire enquire = new Xapian.Enquire(db);
143
+ enquire.SetQuery(query);
144
+ Xapian.MSet mset = enquire.GetMSet(0, 10, null, new TestMatchDecider());
145
+ if (mset.Size() != 1) {
146
+ System.Console.WriteLine("MatchDecider found " + mset.Size().ToString() + " documents, expected 1");
147
+ System.Environment.Exit(1);
148
+ }
149
+ if (mset.GetDocId(0) != 2) {
150
+ System.Console.WriteLine("MatchDecider mset has wrong docid in");
151
+ System.Environment.Exit(1);
152
+ }
153
+
154
+
155
+ // Test setting and getting metadata
156
+ if (db.GetMetadata("Foo") != "") {
157
+ System.Console.WriteLine("db.GetMetadata(\"Foo\") returned wrong value \"" + db.GetMetadata("Foo") + "\" - expected \"\"");
158
+ System.Environment.Exit(1);
159
+ }
160
+ db.SetMetadata("Foo", "Foo");
161
+ if (db.GetMetadata("Foo") != "Foo") {
162
+ System.Console.WriteLine("db.GetMetadata(\"Foo\") returned wrong value \"" + db.GetMetadata("Foo") + "\" - expected \"Foo\"");
163
+ System.Environment.Exit(1);
164
+ }
165
+
166
+ // Test OP_SCALE_WEIGHT and corresponding constructor
167
+ Xapian.Query query4 = new Xapian.Query(Xapian.Query.op.OP_SCALE_WEIGHT, new Xapian.Query("foo"), 5.0);
168
+ if (query4.GetDescription() != "Xapian::Query(5 * foo)") {
169
+ System.Console.WriteLine("Unexpected query4.GetDescription()");
170
+ System.Environment.Exit(1);
171
+ }
172
+
173
+ } catch (System.Exception e) {
174
+ System.Console.WriteLine("Exception: " + e.ToString());
175
+ System.Environment.Exit(1);
176
+ }
177
+ }
178
+ }
data/csharp/Sorter.cs ADDED
@@ -0,0 +1,76 @@
1
+ /* ----------------------------------------------------------------------------
2
+ * This file was automatically generated by SWIG (http://www.swig.org).
3
+ * Version 1.3.32
4
+ *
5
+ * Do not make changes to this file unless you know what you are doing--modify
6
+ * the SWIG interface file instead.
7
+ * ----------------------------------------------------------------------------- */
8
+
9
+ namespace Xapian {
10
+
11
+ using System;
12
+ using System.Runtime.InteropServices;
13
+
14
+ public class Sorter : IDisposable {
15
+ private HandleRef swigCPtr;
16
+ protected bool swigCMemOwn;
17
+
18
+ internal Sorter(IntPtr cPtr, bool cMemoryOwn) {
19
+ swigCMemOwn = cMemoryOwn;
20
+ swigCPtr = new HandleRef(this, cPtr);
21
+ }
22
+
23
+ internal static HandleRef getCPtr(Sorter obj) {
24
+ return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
25
+ }
26
+
27
+ ~Sorter() {
28
+ Dispose();
29
+ }
30
+
31
+ public virtual void Dispose() {
32
+ lock(this) {
33
+ if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
34
+ swigCMemOwn = false;
35
+ XapianPINVOKE.delete_Sorter(swigCPtr);
36
+ }
37
+ swigCPtr = new HandleRef(null, IntPtr.Zero);
38
+ GC.SuppressFinalize(this);
39
+ }
40
+ }
41
+
42
+ public virtual string Apply(Document doc) {
43
+ string ret = XapianPINVOKE.Sorter_Apply(swigCPtr, Document.getCPtr(doc));
44
+ if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
45
+ return ret;
46
+ }
47
+
48
+ public Sorter() : this(XapianPINVOKE.new_Sorter(), true) {
49
+ if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
50
+ SwigDirectorConnect();
51
+ }
52
+
53
+ private void SwigDirectorConnect() {
54
+ if (SwigDerivedClassHasMethod("Apply", swigMethodTypes0))
55
+ swigDelegate0 = new SwigDelegateSorter_0(SwigDirectorApply);
56
+ XapianPINVOKE.Sorter_director_connect(swigCPtr, swigDelegate0);
57
+ }
58
+
59
+ private bool SwigDerivedClassHasMethod(string methodName, Type[] methodTypes) {
60
+ System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance, null, methodTypes, null);
61
+ bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(Sorter));
62
+ return hasDerivedMethod;
63
+ }
64
+
65
+ private string SwigDirectorApply(IntPtr doc) {
66
+ return Apply(new Document(doc, false));
67
+ }
68
+
69
+ public delegate string SwigDelegateSorter_0(IntPtr doc);
70
+
71
+ private SwigDelegateSorter_0 swigDelegate0;
72
+
73
+ private static Type[] swigMethodTypes0 = new Type[] { typeof(Document) };
74
+ }
75
+
76
+ }
data/csharp/Stem.cs ADDED
@@ -0,0 +1,66 @@
1
+ /* ----------------------------------------------------------------------------
2
+ * This file was automatically generated by SWIG (http://www.swig.org).
3
+ * Version 1.3.32
4
+ *
5
+ * Do not make changes to this file unless you know what you are doing--modify
6
+ * the SWIG interface file instead.
7
+ * ----------------------------------------------------------------------------- */
8
+
9
+ namespace Xapian {
10
+
11
+ using System;
12
+ using System.Runtime.InteropServices;
13
+
14
+ public class Stem : IDisposable {
15
+ private HandleRef swigCPtr;
16
+ protected bool swigCMemOwn;
17
+
18
+ internal Stem(IntPtr cPtr, bool cMemoryOwn) {
19
+ swigCMemOwn = cMemoryOwn;
20
+ swigCPtr = new HandleRef(this, cPtr);
21
+ }
22
+
23
+ internal static HandleRef getCPtr(Stem obj) {
24
+ return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
25
+ }
26
+
27
+ ~Stem() {
28
+ Dispose();
29
+ }
30
+
31
+ public virtual void Dispose() {
32
+ lock(this) {
33
+ if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
34
+ swigCMemOwn = false;
35
+ XapianPINVOKE.delete_Stem(swigCPtr);
36
+ }
37
+ swigCPtr = new HandleRef(null, IntPtr.Zero);
38
+ GC.SuppressFinalize(this);
39
+ }
40
+ }
41
+
42
+ public Stem(string language) : this(XapianPINVOKE.new_Stem(language), true) {
43
+ if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
44
+ }
45
+
46
+ public string Apply(string word) {
47
+ string ret = XapianPINVOKE.Stem_Apply(swigCPtr, word);
48
+ if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
49
+ return ret;
50
+ }
51
+
52
+ public string GetDescription() {
53
+ string ret = XapianPINVOKE.Stem_GetDescription(swigCPtr);
54
+ if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
55
+ return ret;
56
+ }
57
+
58
+ public static string GetAvailableLanguages() {
59
+ string ret = XapianPINVOKE.Stem_GetAvailableLanguages();
60
+ if (XapianPINVOKE.SWIGPendingException.Pending) throw XapianPINVOKE.SWIGPendingException.Retrieve();
61
+ return ret;
62
+ }
63
+
64
+ }
65
+
66
+ }