Go to file
2019-07-29 14:40:09 +12:00
_config NEW Disable re-indexing when migrating files 2019-05-30 19:07:20 +12:00
bin Remove unused class imports, import docblock reference for Apache_Solr_Response, use strict comparison 2019-05-17 09:51:20 +12:00
conf/solr Enable macrons in search by default 2018-10-23 19:03:02 +13:00
docs Merge branch '3' 2019-05-31 14:47:53 +12:00
lang Update translations 2019-05-10 10:05:33 +12:00
src Merge branch '3.6' into 3 2019-07-29 14:39:53 +12:00
templates/Layout use a template that iterates results properly 2018-06-08 14:11:33 +01:00
tests NEW Disable re-indexing when migrating files 2019-05-30 19:07:20 +12:00
_config.php improve SearchQuery API readability by deprecating functions 2018-05-18 10:15:20 +01:00
.editorconfig Added standard editor config 2015-11-19 13:25:25 +13:00
.gitattributes Make docs available in composer require without preferring source to ensure vendor/bin/fulltextsearch_quickstart script has access to the files it needs and users have docs available available locally. 2019-06-01 13:42:38 +12:00
.scrutinizer.yml Update scrutinizer config 2018-03-15 09:52:44 +13:00
.travis.yml Update core releases tested against in Travis config 2019-07-18 16:33:05 +12: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 Add missing branch alias 2019-05-09 14:07:34 +12:00
license.md Updated license year 2016-01-01 06:45:22 +13:00
phpcs.xml.dist Add different core installer versions to Travis matrix and add own phpcs ruleset 2018-06-15 11:58:06 +12: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 split querying into its own file 2018-06-20 17:14:50 +01:00

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