Adds external full text search engine support to SilverStripe
Clone or download
Latest commit 69c5dd6 Oct 31, 2018
Permalink
Failed to load latest commit information.
_config Update config.yml Oct 16, 2018
bin Remove duplicate quickstart script Jul 4, 2018
conf/solr Move SynonymFilterFactory to bottom of analyzer to include synonyms i… Nov 10, 2017
docs Added complex filtering via Criteria/Criterion and Adapters/Writers f… Jul 12, 2018
src FIX: Use Configurable trait Oct 30, 2018
templates/Layout use a template that iterates results properly Jun 8, 2018
tests Added complex filtering via Criteria/Criterion and Adapters/Writers f… Jul 12, 2018
.editorconfig Added standard editor config Nov 19, 2015
.gitattributes Added standard git attributes Nov 19, 2015
.scrutinizer.yml Update scrutinizer config Mar 14, 2018
.travis.yml Bump memory limit in Travis to 2G Jun 15, 2018
.upgrade.yml Add Capture classes to upgrade.yml Dec 6, 2017
README.md split querying into its own file Jun 20, 2018
_config.php improve SearchQuery API readability by deprecating functions May 18, 2018
changelog.md Update changelog for 2.2.0 May 18, 2016
code-of-conduct.md Added standard code of conduct Nov 21, 2015
codecov.yml FIX Update Travis configuration for SS4, add phpunit config and neces… Nov 14, 2017
composer.json update master branch alias to 4.x-dev Oct 16, 2018
license.md Updated license year Dec 31, 2015
phpcs.xml.dist Add different core installer versions to Travis matrix and add own ph… Jun 14, 2018
phpunit.xml.dist FIX Update directory structure for PSR-4 compatibility and rename "co… Nov 29, 2017

README.md

FullTextSearch module

Build Status Scrutinizer Code Quality codecov SilverStripe supported module

Adds support for fulltext search engines like Sphinx and Solr to SilverStripe CMS.

Maintainer Contact

  • Hamish Friedlander <hamish (at) silverstripe (dot) com>

Requirements

  • SilverStripe 4.0+

Note: For SilverStripe 3.x, please use the 2.x release line.

Documentation

For pure Solr docs, check out the Solr 4.10.4 guide.

See the docs for configuration and setup, or for the quick version see the quick start guide.

For details of updates, bugfixes, and features, please see the changelog.

TODO

  • Get rid of includeSubclasses - isn't actually used in practice, makes the codebase uglier, and ClassHierarchy can be used at query time for most of the same use cases

  • Fix field referencing in queries. Should be able to do $query->search('Text', 'Content'), not $query->search('Text', SiteTree::class . '_Content') like you have to do now

    • Make sure that when field exists in multiple classes, searching against bare fields searches all of them

    • Allow searching against specific instances too

  • Make fields restrictable by class in an index - 'SiteTree#Content' to limit fields to a particular class, maybe 'Content->Summary' to allow calling a specific method on the field object to get the text

  • Allow following user relationships (Children.Foo for example)

  • Be clearer about what happens with relationships to stateful objects (e.g. Parent.Foo where Parent is versioned)

  • Improvements to SearchUpdater

    • Make it work properly when in-between objects (the A in A.B.Foo) update

    • Allow user logic to cause triggering reindex of documents when field is user generated

  • Add generic APIs for spell correction, file text extraction and snippet generation