Go to file
Robbie Averill d6a119ce20 Merge branch '3'
# Conflicts:
 #	composer.json
 #	src/Solr/Tasks/Solr_Configure.php
2019-03-25 13:24:04 +13:00
_config Update config.yml 2018-10-17 09:28:04 +13:00
bin Remove duplicate quickstart script 2018-07-04 12:27:23 +01:00
conf/solr Enable macrons in search by default 2018-10-23 19:03:02 +13:00
docs Merge branch '3' 2019-03-25 13:24:04 +13:00
src Merge branch '3' 2019-03-25 13:24:04 +13:00
templates/Layout use a template that iterates results properly 2018-06-08 14:11:33 +01:00
tests Added complex filtering via Criteria/Criterion and Adapters/Writers for Solr. 2018-07-12 13:28:40 +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 Added standard git attributes 2015-11-19 19:11:54 +13:00
.scrutinizer.yml Update scrutinizer config 2018-03-15 09:52:44 +13:00
.travis.yml Bump memory limit in Travis to 2G 2018-06-15 12:03:39 +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 update master branch alias to 4.x-dev 2018-10-17 12:27:16 +13: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