Go to file
Hamish Friedlander 17be5a3e63 Import first version of fulltextsearch module 2011-05-02 16:33:05 +12:00
code Import first version of fulltextsearch module 2011-05-02 16:33:05 +12:00
conf Import first version of fulltextsearch module 2011-05-02 16:33:05 +12:00
docs Import first version of fulltextsearch module 2011-05-02 16:33:05 +12:00
tests Import first version of fulltextsearch module 2011-05-02 16:33:05 +12:00
thirdparty Import first version of fulltextsearch module 2011-05-02 16:33:05 +12:00
README.md Import first version of fulltextsearch module 2011-05-02 16:33:05 +12:00
_config.php Import first version of fulltextsearch module 2011-05-02 16:33:05 +12:00

README.md

WARNING: Heavily experimental API. Likely to change without notice.

FullTextSearch module

An attempt to add stable support for Fulltext Search engines like Sphinx and Solr to SilverStripe CMS

Maintainer Contact

  • Hamish Friedlander <hamish (at) silverstripe (dot) com>

Requirements

  • SilverStripe 2.4. Untested in 3, but probably won't work.

Documentation

See docs/README.md

TODO

  • Get rid of includeSubclasses - isn't actually used in practise, 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_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