From 9a1bfc6980fb492149ad795330f0d5b17a3b59cf Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sat, 15 Feb 2020 19:25:30 +0530 Subject: First commit. --- README.org | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 README.org (limited to 'README.org') diff --git a/README.org b/README.org new file mode 100644 index 0000000..ca961d2 --- /dev/null +++ b/README.org @@ -0,0 +1,64 @@ +#+TITLE: guile-xapian +#+OPTIONS: *:nil + +guile-xapian provides Guile bindings for [[https://xapian.org][Xapian]], a search engine +library. Xapian is a highly adaptable toolkit which allows developers +to easily add advanced indexing and search facilities to their own +applications. It has built-in support for several families of +weighting models and also supports a rich set of boolean query +operators. + +Once these bindings are sufficiently mature, they will be merged with +[[https://github.com/xapian/xapian/tree/master/xapian-bindings][xapian-bindings]]. This will involve creating more complete +Scheme-friendly wrapping of the Xapian library, writing test cases and +documentation. + +There is no proper documentation yet. See the examples in the source +tree. Also see [[https://getting-started-with-xapian.readthedocs.io/en/latest/index.html][Getting Started with Xapian]] which describes the Python +bindings. + +* Usage + +Drop into a development environment. + +#+BEGIN_SRC sh +guix environment -l guix.scm +#+END_SRC + +Bootstrap autotools, then configure and make. + +#+BEGIN_SRC sh +./bootstrap.sh +./configure +make +#+END_SRC + +Try out the examples. + +First, let's index data in examples/100-objects.sexp creating a +Xapian database at /tmp/db. + +#+BEGIN_SRC sh +./pre-inst-env guile -s examples/index.scm examples/100-objects.sexp /tmp/db +#+END_SRC + +Then, we may run searches on the database. Shown below are a few +example searches. + +#+BEGIN_SRC sh +./pre-inst-env guile -s examples/search.scm /tmp/db watch +./pre-inst-env guile -s examples/search.scm /tmp/db Dent watch +./pre-inst-env guile -s examples/search.scm /tmp/db title:sunwatch +./pre-inst-env guile -s examples/search.scm /tmp/db description:\"leather case\" AND title:sundial +#+END_SRC + +* Contributing + +Feedback, suggestions, feature requests and bug reports are all +welcome. Please write to me at [[mailto:arunisaac@systemreboot.net][arunisaac@systemreboot.net]]. + +* License + +guile-xapian is free software released under the terms of the [[https://www.gnu.org/licenses/gpl-3.0.html][GNU +General Public License]], either version 2 of the License, or (at your +option) any later version. -- cgit v1.2.3