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.
- data/.gitignore +3 -0
- data/AUTHORS +1 -0
- data/COPYING +340 -0
- data/ChangeLog +5876 -0
- data/HACKING +101 -0
- data/INSTALL +293 -0
- data/Makefile +722 -0
- data/Makefile.am +26 -0
- data/Makefile.in +722 -0
- data/NEWS +2110 -0
- data/README +59 -0
- data/Rakefile +51 -0
- data/TODO +47 -0
- data/aclocal.m4 +7675 -0
- data/config.guess +1501 -0
- data/config.h +56 -0
- data/config.h.in +55 -0
- data/config.status +1298 -0
- data/config.sub +1705 -0
- data/configure +18536 -0
- data/configure.ac +944 -0
- data/csharp/.deps/xapian_wrap.Plo +1 -0
- data/csharp/AssemblyInfo.cs +40 -0
- data/csharp/AssemblyInfo.cs.in +40 -0
- data/csharp/Auto.cs +46 -0
- data/csharp/BM25Weight.cs +107 -0
- data/csharp/BoolWeight.cs +103 -0
- data/csharp/Database.cs +275 -0
- data/csharp/DateValueRangeProcessor.cs +61 -0
- data/csharp/Document.cs +177 -0
- data/csharp/ESet.cs +94 -0
- data/csharp/ESetIterator.cs +117 -0
- data/csharp/Enquire.cs +274 -0
- data/csharp/ExpandDecider.cs +76 -0
- data/csharp/Flint.cs +58 -0
- data/csharp/InMemory.cs +46 -0
- data/csharp/MSet.cs +193 -0
- data/csharp/MSetIterator.cs +141 -0
- data/csharp/Makefile +868 -0
- data/csharp/Makefile.am +106 -0
- data/csharp/Makefile.in +868 -0
- data/csharp/MatchDecider.cs +76 -0
- data/csharp/MultiValueSorter.cs +63 -0
- data/csharp/NumberValueRangeProcessor.cs +61 -0
- data/csharp/PositionIterator.cs +101 -0
- data/csharp/PostingIterator.cs +125 -0
- data/csharp/Quartz.cs +58 -0
- data/csharp/Query.cs +150 -0
- data/csharp/QueryParser.cs +174 -0
- data/csharp/RSet.cs +102 -0
- data/csharp/Remote.cs +100 -0
- data/csharp/SWIGTYPE_p_std__string.cs +30 -0
- data/csharp/SWIGTYPE_p_std__vectorTXapian__Query_t.cs +30 -0
- data/csharp/SWIGTYPE_p_std__vectorTstd__string_t.cs +30 -0
- data/csharp/SimpleStopper.cs +64 -0
- data/csharp/SmokeTest.cs +178 -0
- data/csharp/Sorter.cs +76 -0
- data/csharp/Stem.cs +66 -0
- data/csharp/Stopper.cs +91 -0
- data/csharp/StringValueRangeProcessor.cs +53 -0
- data/csharp/TermGenerator.cs +152 -0
- data/csharp/TermIterator.cs +125 -0
- data/csharp/TradWeight.cs +107 -0
- data/csharp/ValueIterator.cs +102 -0
- data/csharp/ValueRangeProcessor.cs +76 -0
- data/csharp/Version.cs +60 -0
- data/csharp/Weight.cs +93 -0
- data/csharp/WritableDatabase.cs +153 -0
- data/csharp/Xapian.cs +65 -0
- data/csharp/XapianPINVOKE.cs +1527 -0
- data/csharp/docs/Makefile +450 -0
- data/csharp/docs/Makefile.am +16 -0
- data/csharp/docs/Makefile.in +450 -0
- data/csharp/docs/examples/SimpleExpand.cs +109 -0
- data/csharp/docs/examples/SimpleIndex.cs +71 -0
- data/csharp/docs/examples/SimpleSearch.cs +78 -0
- data/csharp/docs/index.html +211 -0
- data/csharp/util.i +233 -0
- data/csharp/xapian_wrap.cc +10338 -0
- data/csharp/xapian_wrap.h +93 -0
- data/depcomp +632 -0
- data/extconf.rb +20 -0
- data/generic/except.i +80 -0
- data/generic/generic.mk +48 -0
- data/install-sh +520 -0
- data/java-swig/.deps/xapian_wrap.Plo +1 -0
- data/java-swig/Auto.java +35 -0
- data/java-swig/BM25Weight.java +81 -0
- data/java-swig/BoolWeight.java +77 -0
- data/java-swig/Database.java +195 -0
- data/java-swig/DateValueRangeProcessor.java +51 -0
- data/java-swig/Document.java +135 -0
- data/java-swig/ESet.java +71 -0
- data/java-swig/ESetIterator.java +71 -0
- data/java-swig/Enquire.java +246 -0
- data/java-swig/ExpandDecider.java +59 -0
- data/java-swig/Flint.java +43 -0
- data/java-swig/InMemory.java +35 -0
- data/java-swig/MSet.java +143 -0
- data/java-swig/MSetIterator.java +87 -0
- data/java-swig/Makefile +781 -0
- data/java-swig/Makefile.am +132 -0
- data/java-swig/Makefile.in +781 -0
- data/java-swig/MatchDecider.java +59 -0
- data/java-swig/MultiValueSorter.java +51 -0
- data/java-swig/NumberValueRangeProcessor.java +51 -0
- data/java-swig/PositionIterator.java +63 -0
- data/java-swig/PostingIterator.java +83 -0
- data/java-swig/Quartz.java +43 -0
- data/java-swig/Query.java +189 -0
- data/java-swig/QueryParser.java +214 -0
- data/java-swig/RSet.java +79 -0
- data/java-swig/Remote.java +71 -0
- data/java-swig/SWIGTYPE_p_std__string.java +25 -0
- data/java-swig/SimpleStopper.java +51 -0
- data/java-swig/SmokeTest.java +161 -0
- data/java-swig/Sorter.java +59 -0
- data/java-swig/Stem.java +51 -0
- data/java-swig/Stopper.java +63 -0
- data/java-swig/StringValueRangeProcessor.java +43 -0
- data/java-swig/TermGenerator.java +158 -0
- data/java-swig/TermIterator.java +83 -0
- data/java-swig/TradWeight.java +81 -0
- data/java-swig/ValueIterator.java +67 -0
- data/java-swig/ValueRangeProcessor.java +59 -0
- data/java-swig/Version.java +47 -0
- data/java-swig/Weight.java +68 -0
- data/java-swig/WritableDatabase.java +123 -0
- data/java-swig/Xapian.java +39 -0
- data/java-swig/XapianConstants.java +15 -0
- data/java-swig/XapianJNI.java +508 -0
- data/java-swig/run-java-test +6 -0
- data/java-swig/xapian_wrap.cc +12594 -0
- data/java-swig/xapian_wrap.h +91 -0
- data/java/Makefile +660 -0
- data/java/Makefile.am +35 -0
- data/java/Makefile.in +660 -0
- data/java/README +76 -0
- data/java/SmokeTest.java +148 -0
- data/java/native/.deps/Database.Plo +1 -0
- data/java/native/.deps/Document.Plo +1 -0
- data/java/native/.deps/ESet.Plo +1 -0
- data/java/native/.deps/ESetIterator.Plo +1 -0
- data/java/native/.deps/Enquire.Plo +1 -0
- data/java/native/.deps/MSet.Plo +1 -0
- data/java/native/.deps/MSetIterator.Plo +1 -0
- data/java/native/.deps/PositionIterator.Plo +1 -0
- data/java/native/.deps/Query.Plo +1 -0
- data/java/native/.deps/RSet.Plo +1 -0
- data/java/native/.deps/Stem.Plo +1 -0
- data/java/native/.deps/TermIterator.Plo +1 -0
- data/java/native/.deps/WritableDatabase.Plo +1 -0
- data/java/native/.deps/org_xapian_XapianJNI.Plo +1 -0
- data/java/native/.deps/utils.Plo +1 -0
- data/java/native/Database.cc +222 -0
- data/java/native/Document.cc +173 -0
- data/java/native/ESet.cc +79 -0
- data/java/native/ESetIterator.cc +82 -0
- data/java/native/Enquire.cc +271 -0
- data/java/native/MSet.cc +169 -0
- data/java/native/MSetIterator.cc +107 -0
- data/java/native/Makefile +594 -0
- data/java/native/Makefile.am +51 -0
- data/java/native/Makefile.in +594 -0
- data/java/native/PositionIterator.cc +64 -0
- data/java/native/Query.cc +180 -0
- data/java/native/RSet.cc +98 -0
- data/java/native/Stem.cc +75 -0
- data/java/native/TermIterator.cc +107 -0
- data/java/native/WritableDatabase.cc +118 -0
- data/java/native/XapianObjectHolder.h +115 -0
- data/java/native/org_xapian_XapianJNI.cc +78 -0
- data/java/native/org_xapian_XapianJNI.h +1369 -0
- data/java/native/utils.cc +51 -0
- data/java/native/xapian_jni.h +116 -0
- data/java/org/xapian/Database.java +148 -0
- data/java/org/xapian/Document.java +135 -0
- data/java/org/xapian/ESet.java +66 -0
- data/java/org/xapian/ESetIterator.java +97 -0
- data/java/org/xapian/Enquire.java +136 -0
- data/java/org/xapian/ExpandDecider.java +30 -0
- data/java/org/xapian/MSet.java +104 -0
- data/java/org/xapian/MSetIterator.java +132 -0
- data/java/org/xapian/Makefile +580 -0
- data/java/org/xapian/Makefile.am +38 -0
- data/java/org/xapian/Makefile.in +580 -0
- data/java/org/xapian/MatchDecider.java +30 -0
- data/java/org/xapian/PositionIterator.java +89 -0
- data/java/org/xapian/Query.java +190 -0
- data/java/org/xapian/RSet.java +89 -0
- data/java/org/xapian/Stem.java +80 -0
- data/java/org/xapian/TermIterator.java +142 -0
- data/java/org/xapian/WritableDatabase.java +92 -0
- data/java/org/xapian/Xapian.java +114 -0
- data/java/org/xapian/XapianJNI.java +444 -0
- data/java/org/xapian/errors/AssertionError.java +40 -0
- data/java/org/xapian/errors/DatabaseCorruptError.java +40 -0
- data/java/org/xapian/errors/DatabaseError.java +40 -0
- data/java/org/xapian/errors/DatabaseLockError.java +40 -0
- data/java/org/xapian/errors/DatabaseModifiedError.java +40 -0
- data/java/org/xapian/errors/DatabaseOpeningError.java +40 -0
- data/java/org/xapian/errors/DocNotFoundError.java +40 -0
- data/java/org/xapian/errors/FeatureUnavailableError.java +40 -0
- data/java/org/xapian/errors/InternalError.java +40 -0
- data/java/org/xapian/errors/InvalidArgumentError.java +40 -0
- data/java/org/xapian/errors/InvalidOperationError.java +40 -0
- data/java/org/xapian/errors/LogicError.java +40 -0
- data/java/org/xapian/errors/Makefile +416 -0
- data/java/org/xapian/errors/Makefile.am +32 -0
- data/java/org/xapian/errors/Makefile.in +416 -0
- data/java/org/xapian/errors/NetworkError.java +40 -0
- data/java/org/xapian/errors/NetworkTimeoutError.java +40 -0
- data/java/org/xapian/errors/RangeError.java +40 -0
- data/java/org/xapian/errors/RuntimeError.java +40 -0
- data/java/org/xapian/errors/UnimplementedError.java +40 -0
- data/java/org/xapian/errors/XapianError.java +40 -0
- data/java/org/xapian/errors/XapianRuntimeError.java +49 -0
- data/java/org/xapian/examples/Makefile +391 -0
- data/java/org/xapian/examples/Makefile.am +8 -0
- data/java/org/xapian/examples/Makefile.in +391 -0
- data/java/org/xapian/examples/SimpleIndex.java +68 -0
- data/java/org/xapian/examples/SimpleSearch.java +71 -0
- data/java/run-java-test +6 -0
- data/libtool +7618 -0
- data/ltmain.sh +6956 -0
- data/mhs-xapian.gemspec +368 -0
- data/missing +378 -0
- data/php/.deps/xapian_wrap.Plo +1 -0
- data/php/Makefile +871 -0
- data/php/Makefile.am +82 -0
- data/php/Makefile.in +871 -0
- data/php/docs/Makefile +453 -0
- data/php/docs/Makefile.am +19 -0
- data/php/docs/Makefile.in +453 -0
- data/php/docs/examples/simpleexpand.php4 +108 -0
- data/php/docs/examples/simpleexpand.php5 +104 -0
- data/php/docs/examples/simpleindex.php4 +76 -0
- data/php/docs/examples/simpleindex.php5 +73 -0
- data/php/docs/examples/simplesearch.php4 +75 -0
- data/php/docs/examples/simplesearch.php5 +72 -0
- data/php/docs/index.html +313 -0
- data/php/except.i +98 -0
- data/php/php4/php_xapian.h +323 -0
- data/php/php4/xapian.php +32 -0
- data/php/php4/xapian_wrap.cc +27656 -0
- data/php/php5/php_xapian.h +319 -0
- data/php/php5/xapian.php +1566 -0
- data/php/php5/xapian_wrap.cc +24330 -0
- data/php/smoketest.php +246 -0
- data/php/smoketest4.php +84 -0
- data/php/smoketest5.php +79 -0
- data/php/util.i +187 -0
- data/python/.deps/xapian_wrap.Plo +1 -0
- data/python/Makefile +891 -0
- data/python/Makefile.am +105 -0
- data/python/Makefile.in +891 -0
- data/python/doccomments.i +5134 -0
- data/python/docs/Makefile +448 -0
- data/python/docs/Makefile.am +14 -0
- data/python/docs/Makefile.in +448 -0
- data/python/docs/examples/simpleexpand.py +98 -0
- data/python/docs/examples/simpleindex.py +65 -0
- data/python/docs/examples/simplematchdecider.py +78 -0
- data/python/docs/examples/simplesearch.py +65 -0
- data/python/docs/index.html +420 -0
- data/python/except.i +290 -0
- data/python/extra.i +1048 -0
- data/python/extracomments.i +28 -0
- data/python/generate-python-exceptions +189 -0
- data/python/generate-python-exceptions.in +189 -0
- data/python/modern/xapian.py +5662 -0
- data/python/modern/xapian_wrap.cc +35170 -0
- data/python/modern/xapian_wrap.h +244 -0
- data/python/pythontest.py +1110 -0
- data/python/smoketest.py +328 -0
- data/python/testsuite.py +382 -0
- data/python/util.i +517 -0
- data/ruby/.deps/xapian_wrap.Plo +494 -0
- data/ruby/.libs/_xapian.bundle +0 -0
- data/ruby/.libs/_xapian.bundle.dSYM/Contents/Info.plist +25 -0
- data/ruby/.libs/_xapian.bundle.dSYM/Contents/Resources/DWARF/_xapian.bundle +0 -0
- data/ruby/.libs/_xapian.la +35 -0
- data/ruby/.libs/_xapian.lai +35 -0
- data/ruby/Makefile +854 -0
- data/ruby/Makefile.am +62 -0
- data/ruby/Makefile.in +854 -0
- data/ruby/_xapian.la +35 -0
- data/ruby/docs/Makefile +487 -0
- data/ruby/docs/Makefile.am +50 -0
- data/ruby/docs/Makefile.in +487 -0
- data/ruby/docs/examples/simpleexpand.rb +98 -0
- data/ruby/docs/examples/simpleindex.rb +60 -0
- data/ruby/docs/examples/simplematchdecider.rb +74 -0
- data/ruby/docs/examples/simplesearch.rb +63 -0
- data/ruby/docs/index.html +197 -0
- data/ruby/smoketest.rb +211 -0
- data/ruby/util.i +232 -0
- data/ruby/xapian.rb +280 -0
- data/ruby/xapian_wrap.cc +25837 -0
- data/ruby/xapian_wrap.h +65 -0
- data/ruby/xapian_wrap.lo +12 -0
- data/skiptest +2 -0
- data/stamp-h1 +1 -0
- data/tcl8/.deps/xapian_wrap.Plo +1 -0
- data/tcl8/Makefile +835 -0
- data/tcl8/Makefile.am +49 -0
- data/tcl8/Makefile.in +835 -0
- data/tcl8/docs/Makefile +448 -0
- data/tcl8/docs/Makefile.am +14 -0
- data/tcl8/docs/Makefile.in +448 -0
- data/tcl8/docs/examples/simpleexpand.tcl +104 -0
- data/tcl8/docs/examples/simpleindex.tcl +68 -0
- data/tcl8/docs/examples/simplesearch.tcl +66 -0
- data/tcl8/docs/index.html +208 -0
- data/tcl8/except.i +48 -0
- data/tcl8/pkgIndex.tcl +1 -0
- data/tcl8/pkgIndex.tcl.in +1 -0
- data/tcl8/run-tcl-test +15 -0
- data/tcl8/runtest.tcl +29 -0
- data/tcl8/smoketest.tcl +155 -0
- data/tcl8/util.i +76 -0
- data/tcl8/xapian_wrap.cc +20900 -0
- data/xapian-bindings.spec +206 -0
- data/xapian-bindings.spec.in +206 -0
- data/xapian-version.h +1 -0
- data/xapian-version.h.in +1 -0
- data/xapian.i +939 -0
- metadata +395 -0
@@ -0,0 +1,66 @@
|
|
1
|
+
/**
|
2
|
+
Copyright (c) 2003, Technology Concepts & Design, Inc.
|
3
|
+
All rights reserved.
|
4
|
+
|
5
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted
|
6
|
+
provided that the following conditions are met:
|
7
|
+
|
8
|
+
- Redistributions of source code must retain the above copyright notice, this list of conditions
|
9
|
+
and the following disclaimer.
|
10
|
+
|
11
|
+
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions
|
12
|
+
and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
13
|
+
|
14
|
+
- Neither the name of Technology Concepts & Design, Inc. nor the names of its contributors may be used to
|
15
|
+
endorse or promote products derived from this software without specific prior written permission.
|
16
|
+
|
17
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
18
|
+
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
19
|
+
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
|
20
|
+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
21
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
22
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
23
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
24
|
+
THE POSSIBILITY OF SUCH DAMAGE.
|
25
|
+
**/
|
26
|
+
package org.xapian;
|
27
|
+
|
28
|
+
import org.xapian.errors.XapianError;
|
29
|
+
import org.xapian.errors.XapianRuntimeError;
|
30
|
+
|
31
|
+
/**
|
32
|
+
*
|
33
|
+
*/
|
34
|
+
public class ESet {
|
35
|
+
long id = -1;
|
36
|
+
|
37
|
+
ESet(long id) {
|
38
|
+
this.id = id;
|
39
|
+
}
|
40
|
+
|
41
|
+
public long getEBound() throws XapianError {
|
42
|
+
return XapianJNI.eset_get_ebound(id);
|
43
|
+
}
|
44
|
+
|
45
|
+
public long size() throws XapianError {
|
46
|
+
return XapianJNI.eset_size(id);
|
47
|
+
}
|
48
|
+
|
49
|
+
public ESetIterator iterator() throws XapianError {
|
50
|
+
return new ESetIterator(XapianJNI.eset_begin(id), XapianJNI.eset_end(id));
|
51
|
+
}
|
52
|
+
|
53
|
+
public String toString() {
|
54
|
+
try {
|
55
|
+
return XapianJNI.eset_get_description(id);
|
56
|
+
} catch (XapianError xe) {
|
57
|
+
throw new XapianRuntimeError(xe);
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
61
|
+
protected void finalize() throws Throwable {
|
62
|
+
XapianJNI.eset_finalize(id);
|
63
|
+
super.finalize();
|
64
|
+
}
|
65
|
+
|
66
|
+
}
|
@@ -0,0 +1,97 @@
|
|
1
|
+
/**
|
2
|
+
Copyright (c) 2003, Technology Concepts & Design, Inc.
|
3
|
+
All rights reserved.
|
4
|
+
|
5
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted
|
6
|
+
provided that the following conditions are met:
|
7
|
+
|
8
|
+
- Redistributions of source code must retain the above copyright notice, this list of conditions
|
9
|
+
and the following disclaimer.
|
10
|
+
|
11
|
+
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions
|
12
|
+
and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
13
|
+
|
14
|
+
- Neither the name of Technology Concepts & Design, Inc. nor the names of its contributors may be used to
|
15
|
+
endorse or promote products derived from this software without specific prior written permission.
|
16
|
+
|
17
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
18
|
+
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
19
|
+
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
|
20
|
+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
21
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
22
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
23
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
24
|
+
THE POSSIBILITY OF SUCH DAMAGE.
|
25
|
+
**/
|
26
|
+
package org.xapian;
|
27
|
+
|
28
|
+
import org.xapian.errors.XapianError;
|
29
|
+
import org.xapian.errors.XapianRuntimeError;
|
30
|
+
|
31
|
+
import java.util.Iterator;
|
32
|
+
|
33
|
+
/**
|
34
|
+
*
|
35
|
+
*/
|
36
|
+
public class ESetIterator implements Iterator {
|
37
|
+
|
38
|
+
long id;
|
39
|
+
private long _end_id;
|
40
|
+
|
41
|
+
ESetIterator(long start, long end) {
|
42
|
+
id = start;
|
43
|
+
_end_id = end;
|
44
|
+
}
|
45
|
+
|
46
|
+
public String getTerm() throws XapianError {
|
47
|
+
return XapianJNI.esetiterator_get(id);
|
48
|
+
}
|
49
|
+
|
50
|
+
public double getWeight() throws XapianError {
|
51
|
+
return XapianJNI.esetiterator_get_weight(id);
|
52
|
+
}
|
53
|
+
|
54
|
+
public Object next() {
|
55
|
+
try {
|
56
|
+
XapianJNI.esetiterator_next(id);
|
57
|
+
return this;
|
58
|
+
} catch (XapianError xe) {
|
59
|
+
throw new XapianRuntimeError(xe);
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
public Object prev() {
|
64
|
+
try {
|
65
|
+
XapianJNI.esetiterator_prev(id);
|
66
|
+
return this;
|
67
|
+
} catch (XapianError xe) {
|
68
|
+
throw new XapianRuntimeError(xe);
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
public void remove() {
|
73
|
+
throw new UnsupportedOperationException("ESetIterator does not support remove()");
|
74
|
+
}
|
75
|
+
|
76
|
+
public boolean hasNext() {
|
77
|
+
try {
|
78
|
+
return !XapianJNI.esetiterator_equals(id, _end_id);
|
79
|
+
} catch (XapianError xe) {
|
80
|
+
throw new XapianRuntimeError(xe);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
public String toString() {
|
85
|
+
try {
|
86
|
+
return XapianJNI.esetiterator_get_description(id);
|
87
|
+
} catch (XapianError xe) {
|
88
|
+
throw new XapianRuntimeError(xe);
|
89
|
+
}
|
90
|
+
}
|
91
|
+
|
92
|
+
protected void finalize() throws Throwable {
|
93
|
+
XapianJNI.esetiterator_finalize(id);
|
94
|
+
XapianJNI.esetiterator_finalize(_end_id);
|
95
|
+
super.finalize();
|
96
|
+
}
|
97
|
+
}
|
@@ -0,0 +1,136 @@
|
|
1
|
+
/**
|
2
|
+
Copyright (c) 2003, Technology Concepts & Design, Inc.
|
3
|
+
Copyright (c) 2006, Olly Betts
|
4
|
+
All rights reserved.
|
5
|
+
|
6
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted
|
7
|
+
provided that the following conditions are met:
|
8
|
+
|
9
|
+
- Redistributions of source code must retain the above copyright notice, this list of conditions
|
10
|
+
and the following disclaimer.
|
11
|
+
|
12
|
+
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions
|
13
|
+
and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
14
|
+
|
15
|
+
- Neither the name of Technology Concepts & Design, Inc. nor the names of its contributors may be used to
|
16
|
+
endorse or promote products derived from this software without specific prior written permission.
|
17
|
+
|
18
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
19
|
+
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
20
|
+
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
|
21
|
+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
22
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
23
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
24
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
25
|
+
THE POSSIBILITY OF SUCH DAMAGE.
|
26
|
+
**/
|
27
|
+
package org.xapian;
|
28
|
+
|
29
|
+
import org.xapian.errors.XapianError;
|
30
|
+
import org.xapian.errors.XapianRuntimeError;
|
31
|
+
|
32
|
+
/**
|
33
|
+
*
|
34
|
+
*/
|
35
|
+
public class Enquire {
|
36
|
+
private Database _database = null;
|
37
|
+
private Query _query = null;
|
38
|
+
|
39
|
+
long id = -1;
|
40
|
+
|
41
|
+
public Enquire(Database db) throws XapianError {
|
42
|
+
// must hold a reference to the database, otherwise the JVM
|
43
|
+
// might garbage-collect it on us!
|
44
|
+
_database = db;
|
45
|
+
id = XapianJNI.enquire_new(db.id);
|
46
|
+
}
|
47
|
+
|
48
|
+
public void setQuery(Query q) throws XapianError {
|
49
|
+
setQuery(q, 0);
|
50
|
+
}
|
51
|
+
|
52
|
+
public void setQuery(Query q, int qlen) throws XapianError {
|
53
|
+
_query = q;
|
54
|
+
XapianJNI.enquire_set_query(id, q.id, qlen);
|
55
|
+
}
|
56
|
+
|
57
|
+
public Query getQuery() throws XapianError {
|
58
|
+
// No need to call the JNI method here.
|
59
|
+
return _query;
|
60
|
+
}
|
61
|
+
|
62
|
+
//
|
63
|
+
// TODO: Implement Weight so I cna implement htis method
|
64
|
+
//
|
65
|
+
|
66
|
+
/**
|
67
|
+
* public void setWeightingScheme (Weight weight) {
|
68
|
+
* }
|
69
|
+
*/
|
70
|
+
|
71
|
+
public void setCollapseKey(long collapse_key) throws XapianError {
|
72
|
+
XapianJNI.enquire_set_collapse_key(id, collapse_key);
|
73
|
+
}
|
74
|
+
|
75
|
+
public void setSortForward(boolean forward) throws XapianError {
|
76
|
+
XapianJNI.enquire_set_sort_forward(id, forward);
|
77
|
+
}
|
78
|
+
|
79
|
+
public void setCutoff(int percent_cutoff) throws XapianError {
|
80
|
+
setCutoff(percent_cutoff, 0);
|
81
|
+
}
|
82
|
+
|
83
|
+
public void setCutoff(int percent_cutoff, double weight_cutoff) throws XapianError {
|
84
|
+
XapianJNI.enquire_set_cutoff(id, percent_cutoff, weight_cutoff);
|
85
|
+
}
|
86
|
+
|
87
|
+
public void setSorting(long sort_key, int sort_bands) throws XapianError {
|
88
|
+
XapianJNI.enquire_set_sorting(id, sort_key, sort_bands);
|
89
|
+
}
|
90
|
+
|
91
|
+
public MSet getMSet(long first, long maxitems) throws XapianError {
|
92
|
+
return getMSet(first, maxitems, null, null);
|
93
|
+
}
|
94
|
+
|
95
|
+
public MSet getMSet(long first, long maxitems, RSet rset, MatchDecider md) throws XapianError {
|
96
|
+
return new MSet(XapianJNI.enquire_get_mset(id, first, maxitems, rset == null ? -1 : rset.id, md));
|
97
|
+
}
|
98
|
+
|
99
|
+
public ESet getESet(long maxitems, RSet rset, int flags, double k, ExpandDecider ed) throws XapianError {
|
100
|
+
return new ESet(XapianJNI.enquire_get_eset(id, maxitems, rset.id, flags, k, ed));
|
101
|
+
}
|
102
|
+
|
103
|
+
public ESet getESet(long maxitems, RSet rset) throws XapianError {
|
104
|
+
return new ESet(XapianJNI.enquire_get_eset(id, maxitems, rset.id, null));
|
105
|
+
}
|
106
|
+
|
107
|
+
public ESet getESet(long maxitems, RSet rset, ExpandDecider ed) throws XapianError {
|
108
|
+
return new ESet(XapianJNI.enquire_get_eset(id, maxitems, rset.id, ed));
|
109
|
+
}
|
110
|
+
|
111
|
+
public TermIterator getMatchingTerms(long dbdocid) throws XapianError {
|
112
|
+
return new TermIterator(dbdocid, XapianJNI.enquire_get_matching_terms_begin(id, dbdocid), XapianJNI.enquire_get_matching_terms_end(id, dbdocid));
|
113
|
+
}
|
114
|
+
|
115
|
+
public TermIterator getMatchingTerms(MSetIterator itr) throws XapianError {
|
116
|
+
return new TermIterator(itr.getDocumentId(), XapianJNI.enquire_get_matching_terms_begin_by_msetiterator(id, itr.id), XapianJNI.enquire_get_matching_terms_end_by_msetiterator(id, itr.id));
|
117
|
+
}
|
118
|
+
|
119
|
+
public void registerMatchDecider(String name, MatchDecider md) throws XapianError {
|
120
|
+
XapianJNI.enquire_register_match_decider(id, name, md);
|
121
|
+
}
|
122
|
+
|
123
|
+
public String toString() {
|
124
|
+
try {
|
125
|
+
return XapianJNI.enquire_get_description(id);
|
126
|
+
} catch (XapianError xe) {
|
127
|
+
throw new XapianRuntimeError(xe);
|
128
|
+
}
|
129
|
+
}
|
130
|
+
|
131
|
+
protected void finalize() throws Throwable {
|
132
|
+
XapianJNI.enquire_finalize(id);
|
133
|
+
super.finalize();
|
134
|
+
}
|
135
|
+
|
136
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
/**
|
2
|
+
Copyright (c) 2003, Technology Concepts & Design, Inc.
|
3
|
+
All rights reserved.
|
4
|
+
|
5
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted
|
6
|
+
provided that the following conditions are met:
|
7
|
+
|
8
|
+
- Redistributions of source code must retain the above copyright notice, this list of conditions
|
9
|
+
and the following disclaimer.
|
10
|
+
|
11
|
+
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions
|
12
|
+
and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
13
|
+
|
14
|
+
- Neither the name of Technology Concepts & Design, Inc. nor the names of its contributors may be used to
|
15
|
+
endorse or promote products derived from this software without specific prior written permission.
|
16
|
+
|
17
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
18
|
+
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
19
|
+
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
|
20
|
+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
21
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
22
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
23
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
24
|
+
THE POSSIBILITY OF SUCH DAMAGE.
|
25
|
+
**/
|
26
|
+
package org.xapian;
|
27
|
+
|
28
|
+
public interface ExpandDecider {
|
29
|
+
boolean accept(String term);
|
30
|
+
}
|
@@ -0,0 +1,104 @@
|
|
1
|
+
/**
|
2
|
+
Copyright (c) 2003, Technology Concepts & Design, Inc.
|
3
|
+
All rights reserved.
|
4
|
+
|
5
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted
|
6
|
+
provided that the following conditions are met:
|
7
|
+
|
8
|
+
- Redistributions of source code must retain the above copyright notice, this list of conditions
|
9
|
+
and the following disclaimer.
|
10
|
+
|
11
|
+
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions
|
12
|
+
and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
13
|
+
|
14
|
+
- Neither the name of Technology Concepts & Design, Inc. nor the names of its contributors may be used to
|
15
|
+
endorse or promote products derived from this software without specific prior written permission.
|
16
|
+
|
17
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
18
|
+
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
19
|
+
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
|
20
|
+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
21
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
22
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
23
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
24
|
+
THE POSSIBILITY OF SUCH DAMAGE.
|
25
|
+
**/
|
26
|
+
package org.xapian;
|
27
|
+
|
28
|
+
import org.xapian.errors.XapianError;
|
29
|
+
import org.xapian.errors.XapianRuntimeError;
|
30
|
+
|
31
|
+
|
32
|
+
public class MSet {
|
33
|
+
|
34
|
+
long id = -1;
|
35
|
+
|
36
|
+
MSet(long id) {
|
37
|
+
this.id = id;
|
38
|
+
}
|
39
|
+
|
40
|
+
public int convertToPercent(MSet mset) throws XapianError {
|
41
|
+
return XapianJNI.mset_convert_to_percent(id, mset.id);
|
42
|
+
}
|
43
|
+
|
44
|
+
public int converToPercent(double weight) throws XapianError {
|
45
|
+
return XapianJNI.mset_convert_to_percent(id, weight);
|
46
|
+
}
|
47
|
+
|
48
|
+
public int getTermFrequency(String term) throws XapianError {
|
49
|
+
return XapianJNI.mset_get_termfreq(id, term);
|
50
|
+
}
|
51
|
+
|
52
|
+
public double getTermWeight(String term) throws XapianError {
|
53
|
+
return XapianJNI.mset_get_termweight(id, term);
|
54
|
+
}
|
55
|
+
|
56
|
+
public int getFirstItem() throws XapianError {
|
57
|
+
return XapianJNI.mset_get_firstitem(id);
|
58
|
+
}
|
59
|
+
|
60
|
+
public int getMatchesLowerBound() throws XapianError {
|
61
|
+
return XapianJNI.mset_get_matches_lower_bound(id);
|
62
|
+
}
|
63
|
+
|
64
|
+
public int getMatchesEstimated() throws XapianError {
|
65
|
+
return XapianJNI.mset_get_matches_estimated(id);
|
66
|
+
}
|
67
|
+
|
68
|
+
public int getMatchesUpperBound() throws XapianError {
|
69
|
+
return XapianJNI.mset_get_matches_upper_bound(id);
|
70
|
+
}
|
71
|
+
|
72
|
+
public double getMaxPossible() throws XapianError {
|
73
|
+
return XapianJNI.mset_get_max_possible(id);
|
74
|
+
}
|
75
|
+
|
76
|
+
public double getMaxAttained() throws XapianError {
|
77
|
+
return XapianJNI.mset_get_max_attained(id);
|
78
|
+
}
|
79
|
+
|
80
|
+
public int size() throws XapianError {
|
81
|
+
return XapianJNI.mset_size(id);
|
82
|
+
}
|
83
|
+
|
84
|
+
public MSetIterator getElement(long index) throws XapianError {
|
85
|
+
return new MSetIterator(XapianJNI.mset_element(id, index), 1);
|
86
|
+
}
|
87
|
+
|
88
|
+
public MSetIterator iterator() throws XapianError {
|
89
|
+
return new MSetIterator(this);
|
90
|
+
}
|
91
|
+
|
92
|
+
public String toString() {
|
93
|
+
try {
|
94
|
+
return XapianJNI.mset_get_description(id);
|
95
|
+
} catch (XapianError xe) {
|
96
|
+
throw new XapianRuntimeError(xe);
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
protected void finalize() throws Throwable {
|
101
|
+
XapianJNI.mset_finalize(id);
|
102
|
+
super.finalize();
|
103
|
+
}
|
104
|
+
}
|
@@ -0,0 +1,132 @@
|
|
1
|
+
/**
|
2
|
+
Copyright (c) 2003, Technology Concepts & Design, Inc.
|
3
|
+
All rights reserved.
|
4
|
+
|
5
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted
|
6
|
+
provided that the following conditions are met:
|
7
|
+
|
8
|
+
- Redistributions of source code must retain the above copyright notice, this list of conditions
|
9
|
+
and the following disclaimer.
|
10
|
+
|
11
|
+
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions
|
12
|
+
and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
13
|
+
|
14
|
+
- Neither the name of Technology Concepts & Design, Inc. nor the names of its contributors may be used to
|
15
|
+
endorse or promote products derived from this software without specific prior written permission.
|
16
|
+
|
17
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
|
18
|
+
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
19
|
+
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
|
20
|
+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
21
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
22
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
23
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
24
|
+
THE POSSIBILITY OF SUCH DAMAGE.
|
25
|
+
**/
|
26
|
+
package org.xapian;
|
27
|
+
|
28
|
+
|
29
|
+
import org.xapian.errors.XapianError;
|
30
|
+
import org.xapian.errors.XapianRuntimeError;
|
31
|
+
|
32
|
+
import java.util.Iterator;
|
33
|
+
|
34
|
+
public class MSetIterator implements Iterator {
|
35
|
+
private MSet _createdfrom = null;
|
36
|
+
|
37
|
+
long id = -1;
|
38
|
+
private int _size = 0;
|
39
|
+
private int _pos = 0;
|
40
|
+
|
41
|
+
MSetIterator(MSet set) throws XapianError {
|
42
|
+
this(XapianJNI.mset_begin(set.id), XapianJNI.mset_size(set.id));
|
43
|
+
// must hold a reference to the MSet or the JVM might
|
44
|
+
// garbage-collect it on us!
|
45
|
+
_createdfrom = set;
|
46
|
+
}
|
47
|
+
|
48
|
+
MSetIterator(long id, int size) {
|
49
|
+
this.id = id;
|
50
|
+
_size = size;
|
51
|
+
}
|
52
|
+
|
53
|
+
public long getDocumentId() throws XapianError {
|
54
|
+
return XapianJNI.msetiterator_get_db_docid(id);
|
55
|
+
}
|
56
|
+
|
57
|
+
public Document getDocument() throws XapianError {
|
58
|
+
return new Document(XapianJNI.msetiterator_get_document(id));
|
59
|
+
}
|
60
|
+
|
61
|
+
public int getRank() throws XapianError {
|
62
|
+
return XapianJNI.msetiterator_get_rank(id);
|
63
|
+
}
|
64
|
+
|
65
|
+
public double getWeight() throws XapianError {
|
66
|
+
return XapianJNI.msetiterator_get_rank(id);
|
67
|
+
}
|
68
|
+
|
69
|
+
public int getCollapseCount() throws XapianError {
|
70
|
+
return XapianJNI.msetiterator_get_collapse_count(id);
|
71
|
+
}
|
72
|
+
|
73
|
+
public int getPercent() throws XapianError {
|
74
|
+
return XapianJNI.msetiterator_get_percent(id);
|
75
|
+
}
|
76
|
+
|
77
|
+
public String toString() {
|
78
|
+
try {
|
79
|
+
return XapianJNI.msetiterator_get_description(id);
|
80
|
+
} catch (XapianError xe) {
|
81
|
+
throw new XapianRuntimeError(xe);
|
82
|
+
}
|
83
|
+
}
|
84
|
+
|
85
|
+
public boolean equals(Object o) {
|
86
|
+
try {
|
87
|
+
MSetIterator itr = (MSetIterator) o;
|
88
|
+
return XapianJNI.msetiterator_equals(id, itr.id);
|
89
|
+
} catch (XapianError xe) {
|
90
|
+
throw new XapianRuntimeError(xe);
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
94
|
+
public boolean hasNext() {
|
95
|
+
return _pos != _size;
|
96
|
+
}
|
97
|
+
|
98
|
+
public Object next() {
|
99
|
+
try {
|
100
|
+
if (_pos != 0) {
|
101
|
+
XapianJNI.msetiterator_next(id);
|
102
|
+
}
|
103
|
+
_pos++;
|
104
|
+
|
105
|
+
return this;
|
106
|
+
} catch (XapianError xe) {
|
107
|
+
throw new XapianRuntimeError(xe);
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
public Object prev() {
|
112
|
+
try {
|
113
|
+
XapianJNI.msetiterator_prev(id);
|
114
|
+
_pos--;
|
115
|
+
|
116
|
+
return this;
|
117
|
+
} catch (XapianError xe) {
|
118
|
+
throw new XapianRuntimeError(xe);
|
119
|
+
}
|
120
|
+
}
|
121
|
+
|
122
|
+
public void remove() {
|
123
|
+
// hmm, if we were smart, we could support this
|
124
|
+
// all we need is the database_id from which we were created
|
125
|
+
throw new UnsupportedOperationException("MSetIterator does not support remove");
|
126
|
+
}
|
127
|
+
|
128
|
+
protected void finalize() throws Throwable {
|
129
|
+
XapianJNI.msetiterator_finalize(id);
|
130
|
+
super.finalize();
|
131
|
+
}
|
132
|
+
}
|