Sequin
N.B. This GitHub-hosted version of Sequin supercedes the one still available on SourceForge (https://sourceforge.net/projects/sequin/), the original., (*1)
Sequin is a simple PHP library for building query-strings for Lucene-based search engines (e.g. Solr)., (*2)
Query-strings are assembled using the fluent interface exposed by Sequin's Query class. An instance of Query comprises one or more Term objects, each of which may be a subqueryâand each of those may also be further subdivided., (*3)
Requirements
Sequin requires PHP version 5.3 or later; it uses no third-party libraries., (*4)
Installation (via Composer)
Include the following in your composer.json file:, (*5)
require:
{
...
'danbettles/sequin': 'dev-master'
}
Then, run composer.phar update, (*6)
Installation (manual)
- Download/clone the library.
- Import the code into your application by
includeing src/boot.php.
Usage
The followingâonly slightly contrivedâexample demonstrates a good selection of Sequin's features. Here we build a query-string to search for soundtracks by Thomas Newman in the index of an imaginary online music retailer., (*7)
require_once 'path/to/sequin/src/boot.php';
$oQuery = Sequin\Query::newInstance('"Thomas Newman"')
->andTerm('soundtrack', null, 3)
->andQuery('music', 'dept')
->orTerm('film')
->endQuery()
->notTerm('"Erin Brockovich"');
print $oQuery; // => "Thomas Newman" AND soundtrack^3 AND dept:(music OR film) NOT "Erin Brockovich"
Contribute
Let me know if you find the library useful or you'd like to contributeâyou're welcome., (*8)