aboutsummaryrefslogtreecommitdiff
path: root/examples/search.scm
diff options
context:
space:
mode:
authorArun Isaac2020-02-16 09:19:48 +0530
committerArun Isaac2020-02-16 09:19:48 +0530
commit16f38896815d91a9cf163814bc5ad0819f7faaaf (patch)
treefbb610c6319dd0ff150a24893beda2c39c62e838 /examples/search.scm
parentda4cc75ea4a137a899922294e62eeb019fd56992 (diff)
downloadguile-xapian-16f38896815d91a9cf163814bc5ad0819f7faaaf.tar.gz
guile-xapian-16f38896815d91a9cf163814bc5ad0819f7faaaf.tar.lz
guile-xapian-16f38896815d91a9cf163814bc5ad0819f7faaaf.zip
examples: Add comments.
* examples/index.scm, examples/search.scm: Add comments.
Diffstat (limited to 'examples/search.scm')
-rw-r--r--examples/search.scm11
1 files changed, 10 insertions, 1 deletions
diff --git a/examples/search.scm b/examples/search.scm
index 4b58313..fee945e 100644
--- a/examples/search.scm
+++ b/examples/search.scm
@@ -26,12 +26,17 @@
((description title identifier) title)))
(define* (search dbpath querystring #:key (offset 0) (pagesize 10))
+ ;; Open database for reading. call-with-database automatically
+ ;; closes the database once we're done.
(call-with-database dbpath
(lambda (db)
- (let ((query (parse-query querystring
+ (let (;; Parse querystring passing a stemmer and suitable
+ ;; prefixes for field search.
+ (query (parse-query querystring
#:stemmer (make-stem "en")
#:prefixes '(("title" ."S")
("description" . "XD")))))
+ ;; Fold over the results, printing them.
(mset-fold (lambda (item _)
(format #t "~a: #~3,'0d ~a~%"
(mset-item-rank item)
@@ -41,8 +46,12 @@
(document-data (mset-item-document item))
read))))
#f
+ ;; Get an Enquire object from the database with the
+ ;; search results. Then, extract the MSet from the
+ ;; Enquire object.
(enquire-mset (enquire db query) offset pagesize))))))
+;; Handle command line arguments
(match (command-line)
((_ dbpath . query-terms)
(search dbpath (string-join query-terms)))