Go to file
Dylan Wagstaff 367343c481 FIX permit reindexing on a Windows machine
It appears that when executing in a Microsoft Windows environment the
default shell used in the immediate reindex handler is CMD, which has
some severely different syntax support from that of a POSIX machine (e.g.
GNU bash). This leads to errors to do with double escaping certain
parameters passed in via the CLI - culminating in an Injector error about
an non-extant class e.g. 'SilverStripe\\CMS\\Model\\SiteTree' - two
slashes a namespace separator does not make!
2018-02-23 16:46:44 +13:00
_config API More TestState into source folder from tests 2018-01-10 15:16:04 +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 FIX permit reindexing on a Windows machine 2018-02-23 16:46:44 +13:00
tests API More TestState into source folder from tests 2018-01-10 15:16:04 +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 FIX Implement correct namespace for PostgreSQL and add to Travis matrix 2017-12-07 09:12:57 +13:00
.upgrade.yml Add Capture classes to upgrade.yml 2017-12-07 09:14:09 +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 NEW Use symfony/process to execute immediate system commands for reindexing 2018-02-16 12:05:46 +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 API Update Subsite integration, remove Polyhome variant 2017-12-05 14:29:53 +13:00

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