Go to file
Ingo Schommer 8876a47f0d NEW Ensure commits are visible to seachers (fixes #274)
This is required in situations where autoCommit.openSearcher is set to "false",
and you don't want to rely on core restarts to make committed index updates available to new searches.
It's already configured like this in the Common Web Platform environments,
so this change will mainly affect other environments (such as Silverstripe Platform).
To opt out of this new behaviour, set up a custom solrconfig.xml.

More details in https://github.com/silverstripe/silverstripe-fulltextsearch/issues/274
2020-04-07 17:22:43 +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 NEW Ensure commits are visible to seachers (fixes #274) 2020-04-07 17:22:43 +12:00
docs NEW Ensure commits are visible to seachers (fixes #274) 2020-04-07 17:22:43 +12:00
lang Changed translation key for more specific 2019-09-08 22:08:39 +03:00
src FIX: allow update processor to be overriden by existing yml 2020-02-10 17:05:16 +13:00
templates/Layout Added translatable title 2019-09-11 16:41:53 +03:00
tests NEW Disable re-indexing when migrating files 2019-05-30 19:07:20 +12: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 Use trusty distro in Travis builds 2019-08-02 15:37:02 +12:00
.upgrade.yml Add Capture classes to upgrade.yml 2017-12-07 09:14:09 +13:00
README.md split querying into its own file 2018-06-20 17:14:50 +01:00
_config.php improve SearchQuery API readability by deprecating functions 2018-05-18 10:15:20 +01: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

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