Go to file
Robbie Averill 861f87514d API Update Subsite integration, remove Polyhome variant
Add a method to clear cached variants from SearchVariant, and a configuration flag for whether
a variant should be enabled or not. Add a FullTextSearch TestState class which will globally
disable the queuedjobs and fulltextsearch shutdown handlers during tests, and is not used to
clear cached variants on each test to prevent global state leakage.

Also removes Phockito as a test dependency.
2017-12-05 14:29:53 +13:00
_config API Update Subsite integration, remove Polyhome variant 2017-12-05 14:29:53 +13:00
conf/solr Move SynonymFilterFactory to bottom of analyzer to include synonyms in search results 2017-11-10 14:01:24 +13:00
docs/en DOCS Update namespaces and code formatting in documentation 2017-11-21 10:52:14 +13:00
src API Update Subsite integration, remove Polyhome variant 2017-12-05 14:29:53 +13:00
tests API Update Subsite integration, remove Polyhome variant 2017-12-05 14:29:53 +13:00
.editorconfig Added standard editor config 2015-11-19 13:25:25 +13:00
.gitattributes Added standard git attributes 2015-11-19 19:11:54 +13:00
.scrutinizer.yml FIX Update directory structure for PSR-4 compatibility and rename "code" to "src" 2017-11-29 15:13:46 +13:00
.travis.yml API Update Subsite integration, remove Polyhome variant 2017-12-05 14:29:53 +13:00
.upgrade.yml API Update Subsite integration, remove Polyhome variant 2017-12-05 14:29:53 +13:00
README.md API Update Subsite integration, remove Polyhome variant 2017-12-05 14:29:53 +13:00
_config.php FIX Update Travis configuration for SS4, add phpunit config and necessary composer updates 2017-11-15 09:43:36 +13:00
changelog.md Update changelog for 2.2.0 2016-05-18 17:20:00 +12:00
code-of-conduct.md Added standard code of conduct 2015-11-21 20:13:42 +13:00
codecov.yml FIX Update Travis configuration for SS4, add phpunit config and necessary composer updates 2017-11-15 09:43:36 +13:00
composer.json API Remove Solr PHP client from thirdparty library and include with composer instead 2017-11-29 19:28:31 +13:00
license.md Updated license year 2016-01-01 06:45:22 +13:00
phpunit.xml.dist FIX Update directory structure for PSR-4 compatibility and rename "code" to "src" 2017-11-29 15:13:46 +13:00

README.md

FullTextSearch module

Build Status Scrutinizer Code Quality codecov

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

See docs/en/index.md

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 sphinx connector

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

  • Better docs