diff options
author | Arun Isaac | 2020-02-16 09:19:48 +0530 |
---|---|---|
committer | Arun Isaac | 2020-02-16 09:19:48 +0530 |
commit | 16f38896815d91a9cf163814bc5ad0819f7faaaf (patch) | |
tree | fbb610c6319dd0ff150a24893beda2c39c62e838 /examples/search.scm | |
parent | da4cc75ea4a137a899922294e62eeb019fd56992 (diff) | |
download | guile-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.scm | 11 |
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))) |