Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
106 lines (80 sloc) 2.99 KB
;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
;;;; See the LICENSE file for licensing information.
(in-package #:cl-user)
(defpackage #:cl-sphinx-search
(:use :cl :iolib.sockets :babel :cl-pack)
(:import-from :cl-sphinx-search-asd :*cl-sphinx-search-version*)
(:export #:set-server
#:set-limits
#:run-query
#:add-query
#:run-queries
#:last-error
#:last-warning
#:set-id-range
#:set-filter
#:set-filter-range
#:set-filter-float-range
#:max-query-time
#:set-geo-anchor
#:set-group-by
#:set-group-distinct
#:set-select
#:reset-filters
#:reset-group-by
#:reset-overrides)
(:documentation
"This package provides an interface to the search daemon (@em{searchd})
for @a[http://www.sphinxsearch.com/]{Sphinx}.
@begin[About Sphinx]{section}
From the site:
@begin{pre}
Sphinx is a full-text search engine, distributed under GPL version 2.
Commercial license is also available for embedded use.
Generally, it's a standalone search engine, meant to provide fast,
size-efficient and relevant fulltext search functions to other applications.
Sphinx was specially designed to integrate well with SQL databases and
scripting languages. Currently built-in data sources support fetching data
either via direct connection to MySQL or PostgreSQL, or using XML pipe
mechanism (a pipe to indexer in special XML-based format which Sphinx
recognizes).
As for the name, Sphinx is an acronym which is officially decoded as
SQL Phrase Index. Yes, I know about CMU's Sphinx project.
@end{pre}
@end{section}
@begin[Synopsis]{section}
@begin{pre}
(let ((sph (make-instance 'sphinx-client)))
(add-query sph \"test\")
(run-queries sph))
@end{pre}
@end{section}
@begin[One class]{section}
There is just one class:
@aboutclass{sphinx-client}
@end{section}
@begin[Methods]{section}
Setting options/parameters:
@aboutfun{set-server}
@aboutfun{set-limits}
Running queries:
@aboutfun{run-query}
@aboutfun{add-query}
@aboutfun{run-queries}
@end{section}
@begin[Acknowledgements]{section}
This port is based on Sphinx.pm version 0.22 (deployed to CPAN
@a[http://search.cpan.org/~jjschutz/Sphinx-Search-0.22/]{here}), which
itself says:
@begin{pre}
This module is based on Sphinx.pm (not deployed to CPAN) for
Sphinx version 0.9.7-rc1, by Len Kranendonk, which was in turn
based on the Sphinx PHP API.
@end{pre}
Also used was the api for python which was supplied with the source code
download for Sphinx Search v0.9.9-rc2, in the @code{api/} directory.
@b{Documentation}
This documentation was generated by @a[http://www.lichteblau.com/atdoc/doc/]{atdoc},
the documentation generation system written by David Lichteblau.
@end{section}
"))